اجرای دستورات ES6 در NodeJs همراه با NodeMon

NodeJs and Nodemon
NodeJs and Nodemon

سلام

امروز می خوام راجب کانفیک کردن پروژه جدید در NodeJs صحبت کنیم.

ایجاد پروژه نود خیلی ساده هست و کار زیادی نداره و با یک دستور npm init همه چی حله.

خب تا اینجا دستورات ES5 هست که اجرا می شن و اگر بخواهیم دستورات رو به صورت ES6 اجرا کنیم باید یکم تغییرات روی پروژه اجرا کنیم. این تغییرات ساده هستن و با دنبال کردن موارد زیر این کار را به راحتی انجام دهید.

ابتدا babel را به صورت زیر نصب کنید.

npm install --save-dev babel-cli babel-preset-env

بعد یه فایل با نام زیر ایجاد کنید.

.babelrc

داخل این فایل این مقدار را قرار دهید.

{
  "presets": ["env"]
}

حالا جهت تست یه کد تستی روی رو در فایل index.js وارد می کنیم که از اجرای ES6 مطمئن بشیم.

import http from 'http';
http.createServer((req, res) => {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(3000);

console.log('Server running at http://localhost:3000/');

حالا تغییرات زیر رو داخل فایل package.json اعمال کنید. این تغییرات برروی scripts در فایل package.json اعمال می شود.

"scripts": {
   "build": "babel index.js -d dist",
   "start": "npm run build && node dist/index.js"
  }

در نهایت npm start رو بزنید تا پروژه اجرا شود.

تا اینجا همه چیز خوب پیش رفته. اما ما یه مشکل کوچیک داریم اینجا و اونم اینه که اجرای با تغییر بر روی فایل index.js باید یه بار سرور را متوقف و دوباره npm start بزنیم. برای حل این مشکل و اینکه با هر تغییر سرور به صورت خودکار این تغییرات راه اعمال کند می تونید از nodemon استفاده کنید. استفاده از این ماژول بسیار راحت می باشد. ابتدا این ماژول را نصب نمایید.

$ npm install -g nodemon

حالا به دلیل اینکه ما کد رو با استاندارد ES6 نوشتیم تغییرات زیر را باید در Package.json اعمال کنیم تا همه چیز به درستی کار کند.

ابتدا فایل index.js خود را درصورتی که در مسیر اصلی ساخته اید به پوشه ای با عنوان lib انتقال دهید و در صورتی که پکیج منیجر Yarn رو ندارید آن را دانلود ونصب نمایید سپس تغییرات زیر را اعمال نمایید.

"scripts": {
 "build": "babel lib/ -d dist/",
 "watch": "nodemon --watch lib --exec yarn start",
 "start": "yarn build && yarn serve",
 "serve": "node dist/index.js"
  }

همه چیز آماده است با دستور yarn watch سیستم را راه اندازی و از اتوماتیک شدن تغییرات پروژه لذت ببرید.