对于那些来自PHP背景的人来说,杀死节点并在每次代码更改后再次启动它的过程似乎非常繁琐。启动脚本时是否有任何标志,节点在保存代码更改时自动重启节点?
答案 0 :(得分:153)
一个不错的选择是Node-supervisor,Node.js Restart on File Change是关于如何使用它的好文章,通常是:
npm install supervisor -g
并在迁移到应用程序的根目录后使用以下
supervisor app.js
答案 1 :(得分:87)
你的朋友想看一下名为nodemon(https://github.com/remy/nodemon)
的东西Nodemon将监视nodemon启动的目录中的文件,如果它们发生更改,它将自动重启节点应用程序。
示例:
nodemon ./server.js localhost 8080
或只是
nodemon server
答案 2 :(得分:76)
forever module具有多个node.js服务器的概念,可以启动,重新启动,停止和列出当前运行的服务器。它还可以根据需要监视更改文件和重新启动节点。
如果您还没有安装它,请安装它:
npm install forever -g
安装后,调用forever
命令:使用-w
标志来查看文件以进行更改:
forever -w ./my-script.js
此外,您还可以查看目录并忽略模式:
forever --watch --watchDirectory ./path/to/dir --watchIgnore *.log ./start/file
答案 3 :(得分:20)
各种NPM可以让生活更轻松。
促进发展
node-dev:npm install -g node-dev
nodemon:npm install -g nodemon
supervisor:npm install -g supervisor
forever:npm install -g forever
For Production (具有群集,远程部署等扩展功能)
pm2:npm install -g pm2
Strong Loop Process Manager:npm install -g strongloop
Forever,pm2和StrongLoop之间的比较可以在StrongLoop的网站上找到。
答案 4 :(得分:12)
您还可以尝试nodemon
安装Nodemon
npm install -g nodemon
使用Nodemon
通常我们启动节点程序,如:
node server.js
但是你必须这样做:
nodemon server.js
答案 5 :(得分:8)
对于喜欢在服务器重新启动时出现咆哮(或libnotify)通知或有错误<的人来说,节点-dev的
node-dev是nodemon和supervisor的绝佳替代品文件中出现/ strong>或更改。
<强>安装:强>
npm install -g node-dev
使用node-dev而不是node:
node-dev app.js
关于更改文件的通知,以便服务器自动启动
控制台输出
答案 6 :(得分:4)
我使用runjs
之类的:
runjs example.js
该包仅被称为run
npm install -g run
答案 7 :(得分:0)
执行以下步骤:
npm install --save-dev nodemon
将以下两行添加到package.json的“脚本”部分:
“开始”:“节点./bin/www”,
“ devstart”:“ nodemon ./bin/www”
如下所示:
“脚本”:{
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node ./bin/www",
"devstart": "nodemon ./bin/www"
}
npm运行devstart。
https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/skeleton_website