Node.js, Next.js və Nuxt tətbiqləri.

Node.js layihələrinin necə tanınması və işə salınması: Node versiyası, paket meneceri, Next.js və Nuxt (server və ya statik), SvelteKit, Astro, Express və digərləri, PORT dəyişəni və Prisma miqrasiyaları.

3 DƏQ OXUMA

package.json faylı olan repozitoriya Node.js layihəsidir. Freymvorku, paket menecerini və Node versiyasını özümüz seçir, layihəni yığıb işə salırıq — Sizə yalnız push etmək qalır.

Node versiyası və paket meneceri

  • Node.js — package.json faylındakı engines.node sahəsindən və ya .nvmrc faylından götürülür: 24, 22, 20, 18 və ya 16 versiyalarından uyğun gələn ən yenisi. Hər ikisi olmadıqda Node.js 22.
  • Paket meneceri — lock faylına görə: pnpm-lock.yaml → pnpm, yarn.lock → yarn, əks halda npm (package-lock.json olduqda npm ci).
  • Yığım — package.json faylında build skripti olduqda həmin skript.

Freymvorklar

FreymvorkNecə işləyir
Next.jsserver kimi (next start) — server rendering, API marşrutları və middleware adi qaydada işləyir
output: 'export' ilə Next.jsout qovluğundan statik sayt kimi
Nuxtserver kimi (.output/server/index.mjs)
ssr: false və generate skripti ilə Nuxt.output/public qovluğundan statik sayt kimi
SvelteKitadapter-node ilə server kimi; adapter-static ilə statik sayt kimi
Astrostatik sayt kimi; @astrojs/node ilə server kimi
NestJSyığımdan sonra dist/main.js
Express, Fastify, Koa, Hono və digər serverlərscripts.start skriptindəki fayl (node server.js), o olmadıqda main, o da olmadıqda server.js, app.js, index.js və ya main.js

Yalnız front-end layihələri — Vite, Create React App, Angular, Vue CLI və digərləri — statik sayt kimi təqdim olunur; ətraflı: Statik saytlar.

PORT dəyişənini dinləyin

Server PORT dəyişənindəki portu bütün interfeyslərdə dinləməlidir:

const port = process.env.PORT || 3000
app.listen(port, '0.0.0.0')

Next.js və Nuxt bunu özləri edir. Tətbiqiniz sabit portu dinləyirsə, ziyarətçiləri qəbul etməyəcək — belə olduqda yerləşdirmə işə salma yoxlamasında dayanır və əvvəlki versiya işləməyə davam edir.

Yığım zamanı istifadə olunan dəyərlər

Dəyişənlər bölməsindəki dəyişənlər yığıma deyil, işləyən tətbiqə ötürülür. Yığımın müştəri koduna yazdığı dəyərlər — məsələn, Next.js-də NEXT_PUBLIC_… və ya VITE_… — repozitoriyanızdan, məsələn, commit edilmiş .env.production faylından oxunur. Server tərəfindəki kod Dəyişənlər bölməsini adi qaydada oxuyur.

Öz işə salma əmriniz

Müəyyən edilmiş işə salma qaydası Sizə uyğun deyilsə, Parametrlər → Yığım parametrləri → İşə salma əmri sahəsini təyin edin, məsələn, node dist/server.js və ya npm run start:prod. Quraşdırma və yığım əmrlərini də orada dəyişmək olar.

Verilənlər bazaları və Prisma

Layihəyə PostgreSQL və ya MySQL əlavə edin və DATABASE_URL dəyişənini oxuyun — o, Sizin üçün təyin olunur. Asılılıqlarınızda Prisma varsa, tövsiyə olunan buraxılış əmri npx prisma migrate deploy əmridir: o, hər yerləşdirmədə, yeni versiya ziyarətçiləri qəbul etməzdən əvvəl icra olunur. Ətraflı: Yerləşdirmələr.

BullMQ ilə növbələr üçün Valkey əlavə edin və REDIS_URL dəyişənindən istifadə edin. Növbə prosesini fon prosesi kimi işlədin — Proseslər bölməsində və ya öz resursları olan ayrıca servis kimi. Ətraflı: Layihənin servisləri.

Yerləşdirmədən sonra qalan fayllar

Hər yerləşdirmə repozitoriyanızın təzə surəti ilə başlayır. Tətbiqinizin /data qovluğuna yazdığı fayllar yerləşdirmələr arasında saxlanılır və hər gün ehtiyat nüsxəyə alınır; başqa yerə yazılan fayllar növbəti yerləşdirmədən sonra silinir. Yükləmələr və media üçün adətən obyekt yaddaşı daha yaxşı seçimdir.

Monorepo

Bir neçə layihədən ibarət repozitoriya üçün tətbiqi yaradarkən Layihə qovluğu sahəsini təyin edin (məsələn, apps/web). Eyni repozitoriyanın başqa qovluğu ayrıca veb servis kimi işləyə bilər — ətraflı: Layihənin servisləri.

Daha sualınız varmı?

Canlı dəstəklə əlaqə saxlayın — günün istənilən vaxtı 3 dəqiqədən az median cavab müddəti.

Dəstəklə əlaqə