از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
به طور خودکار برنامه های Node را راه اندازی مجدد کنید روی تغییر فایل با nodemonNodemon یک بسته ابزار منبع باز است که تغییرات ایجاد شده در کد منبع شما را ردیابی می کند و سرور پروژه شما را به صورت خودکار راه اندازی مجدد می کند. همچنین برخی از ویژگی های منحصر به فرد را ارائه می دهد، مانند توانایی تماشای یک فهرست به جای فایل های ساده، و همچنین …
سرفصلهای مطلب
معرفی
Nodemon یک بسته ابزار منبع باز است که تغییرات ایجاد شده در کد منبع شما را ردیابی می کند و سرور پروژه شما را به صورت خودکار راه اندازی مجدد می کند وقتی تغییرات جدید انجام می شود.
همچنین برخی از ویژگی های منحصر به فرد را ارائه می دهد، مانند توانایی تماشای یک فهرست به جای فایل های ساده، و همچنین نادیده گرفتن فایل های خاصی که ممکن است در یک فهرست خاص وجود داشته باشد.
در این راهنما، ما نگاهی به روش ادغام Nodemon در پروژه های Node خود خواهیم داشت، تا دردسر راه اندازی مجدد پروژه های خود را هر بار که تغییر ایجاد می کنید، کاهش دهیم و سرعت توسعه را افزایش دهیم.
چرا Nodemon؟
به طور سنتی، زمانی که برنامه های Node را اجرا می کنیم، از آن استفاده می کنیم node
دستور به همراه نام فایل:
$ node app.js
این، خوب، برنامه Node را با بارگیری آخرین فایل ها و جدیدترین حالت های آنها و استفاده از آنها همانطور که هستند اجرا می کند. این حالت باقی می ماند و ادامه می یابد در حافظه در حالی که برنامه در حال اجرا است، بنابراین حتی اگر فایل های منبع را تغییر دهید – این در برنامه در حال اجرا منعکس نمی شود.
یک بار شما متوقف کردن برنامه، محتویات اصلی فایل ها از حافظه آزاد می شود و تا زمانی که با اجرای برنامه دوباره آن را بارگیری نکنید، وضعیت از بین می رود. اگر فایل ها را تغییر داده اید – از حالت جدید استفاده می شود و پس از اجرای مجدد برنامه به روز می شود.
در طول توسعه – ما معمولاً برنامه ها را شروع و متوقف می کنیم چندین بار برای “آزمایش” که آیا چیزی که نوشته ایم مطابق انتظار عمل می کند یا خیر. اینها اغلب تغییرات کوچکی هستند، مانند تغییر رنگ یک دکمه، یا اضافه کردن یک عنصر در یک موقعیت خاص. به سرعت، شروع مجدد کل پروژه برای تغییرات کوچک در طول توسعه آزاردهنده می شود.
Nodemon با راه اندازی مجدد و به روز رسانی خودکار پروژه خود هر زمان که تغییری در فایل های منبع ایجاد می کنید، بدون نیاز به راه اندازی مجدد پروژه، این مزاحمت را کاهش می دهد.
در حال نصب Nodemon
سریع ترین راه برای شروع با Nodemon نصب آن به صورت جهانی است npm
بسته:
$ npm install -g nodemon
شما همچنین می توانید Nodemon را به عنوان یک وابستگی توسعه فقط برای یک پروژه نصب کنید:
$ npm install --save-dev nodemon
شروع کار با Nodemon
پس از نصب بسته – می توان از آن به جای بسته استفاده کرد node
فرمان هنگام اجرای پروژه در عوض، می توانید از لفاف استفاده کنید nodemon
دستور، که مطمئناً به اندازه کافی، برنامه را به همان اندازه اجرا می کند node
این کار را انجام می دهد، اما فایل های موجود در دایرکتوری را نیز ردیابی می کند و هر زمان که فایل ها تغییر می کنند، راه اندازی مجدد راه اندازی می شود.
توجه داشته باشید: اگر بسته را به صورت جهانی نصب کنید، دستور به صورت جهانی در دسترس خواهد بود. اگر آن را برای پروژه ای نصب کرده اید، فقط در فهرست راهنمای پروژه شما در دسترس خواهد بود.
فرض کنید یک پرونده داریم، app.js
، که در آن یک عدد تصادفی تولید کرده و نمایش می دهیم روی را console:
let randNo = Math.floor(Math.random() * 10);
console.log(randNo);
سپس می توانیم این فایل را با Nodemon اجرا کنیم:
$ nodemon app.js
(nodemon) 2.0.15
(nodemon) to restart at any time, enter `rs`
(nodemon) watching path(s): *.*
(nodemon) watching extensions: js,mjs,json
(nodemon) starting `node app.js`
6
(nodemon) clean exit - waiting for changes before restart
توجه داشته باشید: اگر با خطا مواجه شدید: nodemon: command not found
– آن را از طریق اجرا کنید npx
.
$ npx nodemon app.js
(nodemon) 2.0.15
(nodemon) to restart at any time, enter `rs`
(nodemon) watching path(s): *.*
(nodemon) watching extensions: js,mjs,json
(nodemon) starting `node app.js`
8
(nodemon) clean exit - waiting for changes before restart
حال، اگر بخواهید چیزی را در فایل تغییر دهید، و تغییر را ذخیره کنید تا آن را به سیستم فایل متعهد کنید، مانند اضافه کردن یک فضای خالی بعد از آخرین خط – به محض اینکه فایل را ذخیره کنید، پروژه دوباره راه اندازی می شود، و دیگری ، شماره جدید نمایش داده می شود:
$ npx nodemon app.js
(nodemon) 2.0.15
(nodemon) to restart at any time, enter `rs`
(nodemon) watching path(s): *.*
(nodemon) watching extensions: js,mjs,json
(nodemon) starting `node app.js`
8
(nodemon) clean exit - waiting for changes before restart
(nodemon) restarting due to changes...
(nodemon) starting `node app.js`
6
(nodemon) clean exit - waiting for changes before restart
در اینجا، اطلاعات اضافی به ما داده می شود! Nodemon در حال تماشای فایلها با پسوندهای خاص است – js
، mjs
و json
. علاوه بر این، یک مسیر خاص را تماشا می کند. بیایید نگاهی به روش سفارشی سازی مسیری که Nodemon تماشا می کند بیاندازیم.
فهرست راهنماها را تماشا کنید
را nodemon
دستور از a نیز پشتیبانی می کند --watch
پرچم برای تماشای دایرکتوری های مختلف. با فرض اینکه یک دایرکتوری داریم، app
، که می خواهیم Nodemon نظارت کند، به سادگی دایرکتوری را بعد از --watch
پرچم:
$ nodemon --watch app
و اگر مثلاً چندین دایرکتوری مانند ساختار زیر داشته باشیم:
app
views
utils
public/
index.html
ما می توانیم اضافه کنیم --watch
به هر دایرکتوری پرچم گذاری کنید تا آنها را شامل شود:
$ nodemon --watch app --watch views --watch utils --watch public
فایل ها و دایرکتوری را نادیده بگیرید
همچنین میتوان به Nodemon گفت که از تماشای فایلها و پوشههای خاص خودداری کند، که اگر نمیخواهید Nodemon فایلهای شما را زودهنگام یا خیلی وقتها راهاندازی مجدد کند، مفید است، بهخصوص اگر فایلی دائماً بهصورت برنامهریزی تغییر میکند، مانند یک فایل لاگ.
ما می توانیم این کار را با --ignore
پرچم:
$ nodemon --ignore views/ --ignore public/index.js
تاخیر در راه اندازی مجدد
در حالی که به تعویق انداختن راهاندازی مجدد خیلی رایج نیست، اما مواقعی وجود دارد که فایلهایی که میخواهید تماشا کنید فوراً در دسترس نیستند یا دستهای از فایلها بهطور متوالی بهروزرسانی میشوند. برای هر تغییر، یک راه اندازی مجدد صادر می شود که باعث می شود برنامه شما چندین بار راه اندازی مجدد شود.
میتوانید زمانی که Nodemon به فایل تغییریافته واکنش نشان میدهد، با تنظیم کردن آن، به تاخیر بیاندازید --delay
پرچم، به دنبال آن یک تاخیر در ثانیه:
$ nodemon --delay 5 app.js
در اینجا، ما یک تاخیر 5 ثانیه ای (زمان انتظار) قبل از واکنش Nodemon به تغییر اضافه کرده ایم. هر تغییری که بین این 5 ثانیه ایجاد شود، تایمر تاخیر را مجددا راه اندازی می کند و تغییرات ایجاد شده قبلی را نادیده می گیرد و فقط برای آخرین تغییر یک راه اندازی مجدد اجرا می کند.
همچنین می توان تاخیر را بر حسب میلی ثانیه مشخص کرد:
// Set delay for 10 seconds 50 milliseconds.
$ nodemon --delay 10.5 app.js
// Set delay for 2000 miliseconds.
$ nodemon --delay 2000ms app.js
نتیجه
Nodemon به شما اجازه می دهد تا به صورت خودکار process از راه اندازی مجدد برنامه های Node هنگامی که تغییراتی در فایل های زیرین ایجاد می کنید. این موضوع به خودی خود مشکلی نیست، اما میتواند هنگام راهاندازی مجدد یک برنامه در طول توسعه، آزاردهنده باشد.
دایرکتوری منبع را برای تغییرات مشاهده می کند و برنامه های Node شما را به طور یکپارچه راه اندازی مجدد می کند و امکان سفارشی سازی در process.
(برچسبها برای ترجمه)# جاوا اسکریپت
منتشر شده در 1403-01-13 03:20:03