برنامههای NodeJS
(NodeJS Apps)🎯 توضیحات و نکات تکمیلی
ES6 و build کردن برنامه
اگر برنامهیتان را با ES6 و یا بالاتر نوشتهاید و برنامهیتان قبل از اجرا شدن، نیاز به build شدن دارد، باید یک اسکریپت دیگر با نامbuildتعریف کنید و دستورات لازم برای build شدن برنامهیتان را داخل package.json تعریف کنید.
برای نمونه:
{
"scripts": {
"start": "node build/server.js",
"build": "gulp build"
}
}
انتخاب نسخهی NodeJS
بهصورت پیشفرض، برنامهی شما روی نسخهی ۱۲ این پلتفرم اجرا میشود. در صورتی که قصد دارید نسخه دیگری را برای اجرای برنامهیتان استفاده کنید میتوانید داخل فایل liara.json بخش زیر را اضافه کنید: (فایل زیر برای یک برنامه تستی در نظر گرفته شده است.)
{
"platform": "node",
"app": "nodejs-starter",
"port": 8000,
"node": {
"version": "14"
}
}
در حال حاضر، از نسخههای زیر پشتیبانی میشود:
- 8
- 10
- 12
- 14
استقرار فریمورک AdonisJS
اگر از فریمورک AdonisJS استفاده میکنید، نیاز به تنظیمات خاصی ندارید و مطابق با مواردی که در بالا گفته شد، میتوانید برنامهیتان را در لیارا مستقر کنید. تنها خطای خاصی که ممکن است با آن مواجه شوید این است که این فریمورک وجود یک فایل.envرا در ریشهی برنامه الزامی میداند. اما چون در لیارا، شما متغیرهایتان را از بخش «تنظیمات برنامه» وارد میکنید، ممکن است با خطای زیر مواجه شوید:
Error: ENOENT: no such file or directory, open '/app/.env'
برای رفع این مشکل، فقط کافیست که متغیر زیر را هم از بخش تنظیمات برنامه، وارد کنید و بعد ذخیره کنید:
ENV_SILENT=true
این مورد در مستندات AdonisJS هم با عنوان Disabling the .env file گفته شدهاست.
تنظیم منطقهی زمانی (TimeZone)
به صورت پیشفرض، منطقهی زمانی بر روی Asia/Tehran تنظیم شده است. برای تغییر مقدار پیشفرض، میتوانید از پارامترtimezoneدر فایل liara.jsonاستفاده کنید. برای نمونه:
{
"platform": "node",
"app": "nodejs-starter",
"port": 8000,
"node": {
"timezone": "America/Los_Angeles"
}
}
گزارش مشکلات امنیتی پکیجهای نصب شده با npm
قابل انکار نیست که تعداد پکیجهای npm بسیار زیاد هستند و برخی از آنها هم ممکن است دارای مشکلات امنیتی باشند و بسیاری از این مشکلات امنیتی هم بعدها در نسخههای جدیدی که ارائه میکنند رفع میشود. اما شما چگونه میتوانید مطمئن شوید که نسخهی فعلی پکیجهایی که نصب کردهاید دارای مشکل هستند یا نه؟ چگونه میتوانید متوجه شوید که آیا راه حلی هم برای این مشکل وجود دارد یا نه؟
لیارا میتواند گزارشات کاملی را درباره مشکلات امنیتی برنامهیتان در پنل کاربری به شما نمایش دهد. فقط کافی است که در فایلliara.jsonبرنامهی خود، npmAuditرا برابر true قرار دهید. این قابلیت به صورت پیشفرض غیر فعال است. برای نمونه:
{
"platform": "node",
"app": "nodejs-starter",
"port": 8000,
"node": {
"version": "10",
"npmAudit": true
}
}
و حالا از این پس هر بار که دستورliara deployرا برای استقرار و بروزرسانی برنامهیتان وارد کنید، گزارش امنیتی نیز برایتان قابل مشاهده خواهد بود.
