برنامه‌های ‌‌NodeJs
برنامه‌های ‌‌NodeJs

اجرای پروژه‌‌های Node در فینگ

این سند عملکرد کلی فینگ در رابطه با شناسایی و اجرای برنامه‌های Node.js را توضیح می‌دهد. برای کسب اطلاعات بیشتر در مورد نحوه‌ی استقرار برنامه، به بخش اجرای برنامه Node مراجعه نمایید.

زمانی برنامه شما به عنوان پلتفرم Node در نظر گرفته می‌شود که در ریشه اصلی برنامه‌تان فایل package.json وجود داشته باشد.

نسخه‌هایی که پشتیبانی می‌شوند

فینگ از نسخه‌ی جدید و همچنین از نسخه‌های فعال TLS (Long-Term-Support) نود پشتیبانی می‌کند.

همانطور که در جدول انتشار Node.js در زیر نشان داده شده است، نسخه‌های Node.js که در حال حاضر فینگ از آنها پشتیبانی می‌کند 14، 16 و 18 می‌باشند.

node version

تعیین نسخه‌ی Node.js

همیشه نسخه‌ای را برای برنامه‌ی خود انتخاب کنید که با زمان اجرا که در حال توسعه و آزمایش آن هستید مطابقت داشته باشد. برای اطلاع از نسخه‌ی نود سیستم خود، دستور زیر را اجرا کنید:

$ node --version
v16.13.1

استفاده از فایل fing.yaml

می‌توانید برای تعیین نسخه‌ی node برنامه‌تان از فایل fing.yaml استفاده نمایید. به اینصورت که در فایل مورد نظر عنوان build را وارد کرده و نسخه‌ی آن را مشخص کنید.

# fing.yaml
...
build:
node_version: "14"

با این روش، سرور فینگ مراحل استقرار برنامه‌ی شما را با این نسخه از node آغاز می‌کند.

استفاده از فایل package.json

برای مشخص کردن نسخه‌ی node برنامه‌ی خود، می‌توانید فایل package.json را باز کرده و در قسمت engines نسخه‌ی node را برای استفاده در فینگ مشخص کنید.

// package.json
{
"name": "appname",
"description": "",
"version": "1.0.0",
"engines": {
"node": "16.13.0"
}
}

در این روش سرور فینگ آخرین نسخه از عددی که مشخص کرده‌اید را استفاده خواهد کرد. به عنوان مثال اگر شما نسخه‌ی 16.13.0 را انتخاب کرده باشید، اما نسخه‌ی جدیدتری از node یعنی 16.13.1 موجود باشد، سرور فینگ مراحل استقرار برنامه شما را بر اساس نسخه‌ی جدیدتر آغاز خواهد کرد.

استفاده از نسخه‌ی پیش‌فرض

اگر نسخه‌ی مورد نظر خود را مشخص نکرده باشید، فینگ از نسخه‌ی پیش فرض node 14 برای استقرار و ساخت برنامه‌ی شما استفاده خواهد کرد.

روند ساخت یک برنامه node

برای ساخت و راه‌اندازی برنامه‌ی node، ابتدا فینگ وابستگی‌‌های برنامه را با توجه به پکیج منیجر استفاده شده در پروژه نصب می‌کند. سپس مراحل build برنامه را آغاز کرده و با توجه به دستور اجرایی که در برنامه مشخص شده است، یک برنامه نود را اجرا می‌کند.

نصب کتابخانه‌ها

پروژه های Node یا با پکیج منیجر npm و یا با پکیج منیجر yarn ساخته می‌شوند.

اگر در ریشه پروژه‌‌تان فایل yarn.lock داشته باشید، فینگ برای نصب وابستگی‌ها و اجرای اسکریپت‌ها از yarn install استفاده خواهد کرد. و اگر در پروژه‌ی خود فایل package-lock.json داشته باشید فینگ برای نصب وابستگی‌‌ها از دستور nmp ci استفاده می‌کند. در غیر اینصورت از npm install استفاده خواهد شد.

توصیه می‌شود برای اینکه وابستگی‌های برنامه‌ی شما به راحتی نصب گردند حتما یکی از این دو فایل را در ریشه پروژه‌ی خود داشته باشید.

به‌طور پیش‌فرض، فینگ همه وابستگی‌هایی که در فایل package.json تحت عنوان dependencies و devDependencies فهرست شده‌اند را نصب می‌کند.

پس از اجرای مراحل نصب و ساخت، فینگ پکیج‌های اعلام شده تحت devDependencies را قبل از استقرار برنامه حذف می‌کند.

دستور اجرای برنامه

برای اجرای موفق برنامه‌ی خود باید دستور اجرای آن را مشخص کرده باشید. برای این منظور فینگ به یکی از دو روش زیر اقدام می‌کند:

با استفاده از Procfile

اگر برای اجرای برنامه‌ی خود دستورات خاصی را در نظر دارید می‌توانید در ریشه اصلی پروژه خود فایلی به نام Procfile ایجاد کنید و دستورات خود را در آن قرار دهید تا فینگ بر اساس همان دستور برنامه‌ی شما را جهت استقرار آماده سازی نماید. برای اطلاع از نحوه‌ی عملکرد آن به صفحه‌ی Procfile مراجعه نمایید.

web: npm start

با استفاده از package.json

اگر در برنامه شما پراک‌ فایل یافت نشود، فینگ به سراغ فایل package.json می‌رود و بر اساس دستور start که در scripts قرار داده‌اید، برنامه‌ی شما را اجرا خواهد کرد.

// package.json
...
"scripts": {
...
"start":"npm start"
}