[ Node.js ] save เมื่อไร auto restart app ให้ทันที ด้วย [ nodemon ] ( live-relaod )
เคยใหมเขียน code node.js เสร็จต้องสลับมา terminal,command line แล้ว run ใหม่ตลอดเวลา
จะง่ายกว่าใหม ถ้าเรา save เมื่อไร auto restart app ให้เราเลย
โดยเราจะทดลองสร้างโปรเจ็ค web server ขึ้นมาด้วย express.js
สร้างโปรเจ็คของเราขึ้นมาก่อนด้วย npm init (อ่านว่า อิน — อิต) แล้วติดตั้ง package ตามด้านล่างนี้
- npm i express -S
จะได้ไฟล์ package.json มาแบบนี้
{ "name": "nodemon", "version": "1.0.0", "main": "index.js", "scripts": {}, "author": "", "dependencies": { "express": "^4.15.3" }, "devDependencies": {}, "keywords": [], "description": ""}
สร้างไฟล์ app.js สำหรับ ทำเว็บ server
var express = require('express');var http = require('http');var app = express();http.createServer(app).listen(3000, function () { console.log('BAKA Server is Runing');})app.get("*", function (req, res) { res.send("Hello bakatest.me");})
ปกติเราจะ run app ด้วย
node app.js
พอเราแก้ไฟล์ที่ทำงานเสร็จเราก็ต้อง restart ด้วย ctrl-c/cmd-c เเล้ว run ใหม่ใช่ใหมครับ
ต่อมาลง package nodemon
- npm i nodemon -g
ติดตั้งเสร็จเราจะแทนที่คำสั่ง node ด้วย nodemon แบบด้านล่างนี้
nodemon app.js
ตอนนี้เวลาเราแก้ไขไฟล์ ตัว nodemon ก็จะทำการ restart app ให้เรา อัตโนมัติแล้ว
สามารถดูข้อมูลเพิ่มเติมได้จาก https://github.com/remy/nodemon