Nou nòmalman konstwi anpil pwojè ak aplikasyon kòm inisyasyon, men sa a se sèlman mwatye nan ekwasyon an.
Nou vle tou pou rès mond lan kapab itilize ak teste aplikasyon sa yo, kit se pou yon prezantasyon, yon rekritè potansyèl, oswa jis jwenn li devan tout moun.
Nou pral bezwen mete aplikasyon sa yo sou yon sèvè piblik pou fè sa.
Heroku se yon platfòm ki baze sou nwaj konplètman jere kòm yon sèvis (PaaS) pou devlope, deplwaye, ak kenbe aplikasyon yo.
Platfòm nan adaptab epi li bati ak DX nan tèt ou pou akomode metòd devlopman ou chwazi ak ekip ou a pandan w ap kenbe w konsantre ak pwodiktif.
Heroku yo itilize pa devlopè, ekip, ak antrepriz tout kalite pou lanse, jere, ak devlope pwojè yo. Kit w ap kreye yon ti pwototip oswa yon pwodwi ki enpòtan pou misyon an, platfòm Heroku a konplètman jere bay fason ki pi senp pou delivre apps rapidman.
Youn nan karakteristik kle Heroku a se kapasite nan deplwaye, jere, ak echèl pwojè ekri nan pi pito ou langaj pwogramasyon [Node, Ruby, Python, Java, PHP, Go, ak lòt moun].
Nan pòs sa a, mwen pral moutre w ki jan yo deplwaye yon pwojè Node.js ki deja egziste sou Heroku.
Kondisyon
Pi bon pratik atik sa a sipoze ke ou genyen:
- Enstale Node.js ak npm.
- Yon Heroku kont se konplètman gratis.
- Yon aplikasyon Node.js ki deja egziste
- Heroku a koòdone liy kòmand (CLI).
1. Deklare depandans aplikasyon w lan
Fichye package.json la espesifye ki depandans yo ta dwe enstale ak pwojè ou a.
Kouri lòd npm init nan anyè rasin pwojè ou a pou jenere yon fichye package.json pou li. Li pral montre w kouman fè yon fichye package.json.
Si w kite yo vid, ou ka sote nenpòt nan kesyon yo. Sou Windows, lanse pwogram Git Bash la pou lanse yon kokiy lòd.
Fichye package.json ki kapab lakòz se jan sa a:
Sèvi ak `npm install pkg>` pou enstale depandans.
Sa a pral enstale pake a epi li pral fè l tounen yon depandans sou dosye done `package.json` Pou enstale eksprime, pou egzanp, tape `npm install express`.
Asire w ke pa gen okenn pakè nan nivo sistèm yo te itilize. Pake w la manke depandans. Lè w ap eseye deplwaye nan Heroku, dosye JSON a pral lakòz pwoblèm.
Pou rezoud pwoblèm sa a, egzekite modil node rm -rf; npm install — production` sou liy kòmand lokal ou a, epi eseye lanse aplikasyon w lan lokalman lè w antre nan entènèt lokal Heroku.
Si youn nan depandans pake w la manke .json fichye, ou ta dwe remake yon mesaj erè ki endike ki modil pa ka jwenn.
2. Espesifye vèsyon ne a
Fichye package.json ou a ta dwe genyen tou vèsyon Node.js ki pral itilize pou egzekite aplikasyon w lan sou Heroku.
Ou ta dwe toujou itilize vèsyon an Node.js ki koresponn ak ègzekutabl w ap travay avèk li. Tape node —version pou jwenn vèsyon ou an.
Men ki jan fichye package.json ou a pral sanble:
Kounye a ke depandans yo te enstale epi yo te espesifye vèsyon ne yo dwe itilize a, fichye package.json la ta dwe sanble sa a:
3. Kreye yon Pwofil
Fè yon Procfile nan rasin katab ou a (asire w ke pa gen okenn ekstansyon epi lèt "P" nan lèt majiskil).
Li se nan fichye Heroku a ke w ap konfigirasyon anviwònman Dynos yo, tankou ki jan Heroku pral kòmanse sèvè wèb la node js apre w fin telechaje aplikasyon an.
Pwofil nan echantiyon aplikasyon ou te deplwaye a sanble sa a:
4. Kreye aplikasyon w lan epi teste li lokalman
Pou enstale depandans ou endike nan fichye package.json ou a, kouri lòd npm enstale nan anyè aplikasyon lokal ou a.
Sèvi ak lòd lokal Heroku, ki enkli nan Heroku CLI a, pou kòmanse aplikasyon w lan lokalman.
Ou ta dwe kounye a kapab jwenn aksè nan aplikasyon w lan nan https://localhost:5000/.
5. Kreye zafè
Kreye yon fichye .gitignore ki sanble yon bagay tankou sa a pou kenbe zafè bati soti nan kontwòl revizyon:
6. Deplwaye aplikasyon node.js ou a nan Heroku
Enstriksyon sa yo pral deplwaye aplikasyon w lan nan Heroku.
7. Heroku Logs
Ou ka sèvi ak youn nan kòmandman yo tou pou jwenn enfòmasyon sou pwogram k ap kouri ou a. Sa a se byen itil pou depanaj pwoblèm.
konklizyon
Felisitasyon, aplikasyon Node.js ou a ap viv kounye a sou Heroku. Li se yon platfòm nwaj ki pèmèt biznis yo kreye, distribye, jere, ak grandi apps.
Heroku te la pou nou nan nouvo epòk san sèvè ak containerization sa a, kote nou jis yon klik lwen deplwaye tout pwojè nou an, epi li toujou ede plizyè milyon itilizatè deplwaye pwojè yo ak senplisite.
Kite yon Reply