Примена Ноде.јс апликација не би требало да представља гњаважу. Покрените свој Екпресс.јс сервер помоћу Рендер-ове исплативе и прилагођене платформи.
Крајем 2022. године, Хероку је укинуо своју опцију бесплатног нивоа, што је резултирало уклањањем претходно доступног бесплатног плана претплате за веб хостинг и друге услуге у облаку у свом екосистему.
Бесплатни нивои су посебно згодни и исплативи ако намеравате да примените и хостујете апликације на кратак период. Срећом, постоји алтернативна платформа у облаку која, попут Херокуа, нуди бесплатан ниво за своје услуге у облаку између осталих погодности.
У овом чланку ћемо истражити како да применимо Екпресс.јс РЕСТ АПИ на Рендер, платформу за хостовање засновану на облаку.
Шта је Рендер?
Рендер је платформа за хостовање у облаку која пружа беспрекоран и безбрижан начин за постављање и управљање статичним веб локацијама, потпуно развијеним веб апликацијама, позадинским АПИ-јима или базама података у облаку. Карактеристике укључују:
- Усер-фриендли интерфејс: Рендер пружа једноставан и интуитиван интерфејс који поједностављује процес постављања апликација направљених коришћењем популарних програмских језика као што су Питхон и Ноде.јс.
- Уграђене базе података: Рендер нуди уграђену подршку за популарне базе података као што су ПостгреСКЛ, МиСКЛ и МонгоДБ, што га чини лако се подешавају и интегришу базе података у апликације без потребе за постављањем посебне базе података сервери.
- Беспрекорни радни ток примене: Рендер пружа функције као што су аутоматизована имплементација, враћања и интеграције са популарним сервисима као што су ГитХуб и ГитЛаб.
- Прилагођени домени и ССЛ: Рендер нуди могућност конфигурисања прилагођених имена домена за веб локације и веб апликације и укључује бесплатне ССЛ сертификате за сигуран ХТТПС приступ.
Поређење између Рендера и Херокуа
Као и друге платформе у облаку, Рендер има своје предности и недостатке. Али како се то може поредити са популарним решењима у облаку као што је Хероку?
- Једноставност: Рендер пружа интерфејс прилагођен кориснику за примену и управљање апликацијама, са фокусом на једноставност коришћења и минималну конфигурацију.
- Аутоматско скалирање: Рендер аутоматски скалира апликације на основу захтева, без потребе за ручним прилагођавањем или сложеном конфигурацијом.
- Исплативости: Рендер нуди исплативе цене које укључују бесплатан ниво за појединачне пројекте и релативно ниске цене за тимове и организационе планове, што га чини јефтином опцијом за хостовање и малих веб апликација и великих реклама пројектима.
- Ограничена флексибилност: Његова једноставност и минимална конфигурација могу бити ограничење за напредне и сложене пројекте који захтевају више прилагођавања и контроле над окружењем за хостовање.
Подесите нови пројекат на Рендеру
Да бисте започели, идите на Рендерова веб страница и пријавите се и пријавите се на свој налог.
Рендер олакшава примену и управљање позадинским АПИ-јима тако што нуди уграђену подршку за популарне програмске језике и веб услуге које поједностављују процес примене.
Овај водич ће користити своју функцију веб услуга за примену Екпресс.јс РЕСТ АПИ-ја. Да бисте наставили даље, мораћете прво да подесите ПостгреСКЛ инстанцу базе података на Рендер-у.
На страници са прегледом кликните на Нови ПостгреСКЛ дугме за подешавање нове инстанце.
Затим унесите назив ваше базе података и кликните на Креирајте базу података. На крају, копирајте УРЛ интерне базе података обезбеђено. Користићете га да конфигуришете везу између вашег Екпресс РЕСТ АПИ-ја и ПостгреСКЛ базе података.
У суштини, УРЛ интерне базе података се користи за успостављање везе између апликација које раде на серверима Рендер-а, као што су распоређени АПИ или потпуно развијена веб апликација.
Без обзира на то, ако желите да користите само ПостгреСКЛ базу података из апликације распоређене на другој платформи, можете користити УРЛ спољне базе података да конфигуришете везу са базом података.
Направите Екпресс.јс РЕСТ АПИ
Само напред и креирајте Екпресс.јс веб сервер. Затим инсталирајте следеће пакете:
нпм инсталл пг кнек
Овде можете пронаћи код овог пројекта ГитХуб спремиште.
Конфигуришите везу са базом података
Да бисте подесили везу између Екпресс.јс АПИ-ја и Рендер-ове ПостгреСКЛ инстанце, у основном директоријуму фасцикле пројекта, креирајте дб.јс датотеку и додајте код испод.
конст кнек = захтевају('кнек');
конст дб = кнек({
клијент: 'стр',
веза: {
цоннецтионСтринг: 'УРЛ базе података',
ссл: {
рејецтУнаутхоризед: лажно
}
}
});модул.екпортс = дб;
Затим отворите индек.јс датотеку и додајте код испод тога имплементира једноставан РЕСТ АПИ са четири руте.
конст екпресс = захтевају("изразити");
конст апп = екпресс()
конст дб = захтевају('./дб')
конст ПОРТ = процес.енв. ПОРТ || 5000апп.усе (екпресс.јсон())
апп.усе (екпресс.урленцодед({ продужени: истина }))апп.гет('/', (рек, рес) => рес.сенд('Здраво Свете!' ))
// Добити све кориснике
апп.гет('/усерс', асинц (рек, рес) => {
покушати {
конст корисници = чекати дб.селецт().фром('корисници')
рес.јсон (корисници)
} улов (грешка) {
конзола.еррор (грешка)
рес.статус(500).јсон({ порука: „Грешка при преузимању корисника“ })
}
})
апп.пост('/усерс', асинц (рек, рес) => {
покушати {
конст корисник = чекати дб('корисници').инсерт({ име: рек.боди.наме }).ретурнинг('*')
рес.јсон (корисник)
} улов (грешка) {
конзола.еррор (грешка)
рес.статус(500).јсон({ порука: „Грешка при креирању корисника“ })
}
})// Избришите постојећег корисника
апп.делете('/усерс/:ид', асинц (рек, рес) => {
покушати {
конст { ид } = рек.парамс
конст корисник = чекати дб('корисници').вхере({ ид }).делете().ретурнинг('*')
рес.јсон (корисник)
} улов (грешка) {
конзола.еррор (грешка)
рес.статус(500).јсон({ порука: „Грешка при брисању корисника“ })
}
})
апп.листен (ПОРТ, () => конзола.Пријава(`Сервер горе на ПОРТ-у:${ПОРТ}`))
Подесите датотеку миграте.јс
Креирате нову фасциклу, скрипте, у основни директоријум вашег пројекта, додајте нову датотеку, миграте.јс, и на крају, додајте код испод:
конст дб = захтевају('../дб');
(асинц () => {
покушати {
чекати дб.сцхема.дропТаблеИфЕкистс('корисници')
чекати дб.сцхема.витхСцхема('јавно').цреатеТабле('корисници', (табела) => {
табле.инцрементс()
табле.стринг('име')
})
конзола.Пријава('Креирана табела корисника!')
процесс.екит(0)
} улов (ерр) {
конзола.лог (грешка)
процесс.екит(1)
}
})()
Овај код ће креирати нову корисника табела у бази података са две колоне: поље примарног кључа са аутоматским повећањем и поље за име.
На крају, додајте ове команде у свој пацкаге.јсон фајл.
"скрипте": {
"почетак": "индекс чвора.јс",
"мигрирати": „ноде сцриптс/миграте.јс“,
},
На крају, да бисте креирали корисничку табелу у бази података, потребно је да покренете миграте.јс датотеку као скрипту на вашем терминалу користећи наредбу испод.
нпм рун миграте
Међутим, пре него што покренете команду, уверите се да сте преузели УРЛ спољне базе података из Рендер-ових информација о подешавањима ПостгреСКЛ инстанце и налепите их у дб.јс датотеку као стринг везе.
Ово ће успоставити везу са инстанцом базе података са ваше локалне машине, омогућавајући вам да креирате табелу пре него што примените АПИ. Када се табела креира, можете да пређете на инстанцу ПостгреСКЛ Рендер-а, да преузмете УРЛ интерне базе података, и ажурирајте дб.јс датотеку у складу са тим.
Поставите РЕСТ АПИ на Рендер
Први, креирајте ново спремиште на ГитХуб-у и притисните код пројекта. Затим се пријавите на свој Рендер налог, кликните на Нев+ дугме и изаберите Веб сервис опцију из падајућег менија.
На крају, приступите свом ГитХуб налогу, изаберите спремиште свог пројекта и повежите се са њим на Рендер-у.
На страници подешавања веб услуге унесите име за нову услугу, наведите основни директоријум пројекта, команду за изградњу и покретање и на крају кликните на Креирајте веб сервис. Када се процес постављања заврши, копирајте наведени УРЛ да бисте тестирали крајње тачке на Постман-у.
Тестирајте крајње тачке АПИ-ја на Постман-у
Постман је популаран алат за развој и тестирање АПИ-ја. Да бисте се упознали са поштаром, научите како да га користите за тестирање АПИ-ја.
Да бисте тестирали примењени АПИ, направите а ПОШТА захтев за /корисника крајња тачка за складиштење података у ПостгреСКЛ бази података.
На крају, направите ГЕТ захтев за преузимање сачуваних података.
Да ли је Рендер одржива алтернатива?
Рендер пружа једноставан процес подешавања и беспрекорну интеграцију са популарним системима контроле верзија што га чини добром алтернативном платформом за хостовање у облаку.
Штавише, његов конкурентни модел цена и уграђена подршка за популарне развојне алате чине га поузданом опцијом прилагођеном кориснику и за споредне пројекте и за велике комерцијалне апликације.