191

对于来自 PHP 背景的人来说,在每次代码更改后杀死节点并重新启动它的过程似乎非常乏味。使用节点启动脚本以在保存代码更改时自动重新启动节点时是否有任何标志?

4

8 回答 8

159

一个不错的选择是Node-supervisor

npm install supervisor -g

并在迁移到应用程序的根目录后使用以下内容

supervisor app.js
于 2012-06-24T07:41:54.763 回答
113

你应该看看类似nodemon的东西。

Nodemon 将监视启动 nodemon 的目录中的文件,如果它们发生更改,它将自动重新启动您的节点应用程序。

例子:

nodemon ./server.js localhost 8080

或者干脆

nodemon server
于 2012-06-24T07:34:03.020 回答
107

forever 模块有多个 node.js 服务器的概念,可以启动、重启、停止和列出当前运行的服务器。它还可以监视更改的文件并根据需要重新启动节点。

如果您还没有它,请安装它:

npm install forever -g

安装后,调用forever命令:使用-w标志来观察文件的变化:

forever -w ./my-script.js

此外,您可以监视目录并忽略模式:

forever --watch --watchDirectory ./path/to/dir --watchIgnore *.log ./start/file
于 2013-10-25T16:09:30.623 回答
50

可以使用各种 NPM 包来简化此任务。

发展

  • nodemon:最受欢迎和积极维护
  • 永远:第二受欢迎
  • node-dev:积极维护(截至 2020 年 10 月)
  • 主管:不再维护

用于生产(具有扩展功能,例如集群、远程部署等)

Forever、pm2 和 StrongLoop 之间的比较可以在StrongLoop的网站上找到。

于 2017-09-02T19:20:06.097 回答
20

你也可以试试nodemon

安装 Nodemon

npm install -g nodemon

使用 Nodemon

通常我们像这样启动节点程序:

node server.js

但在这里你必须这样做:

nodemon server.js
于 2016-12-27T14:04:32.103 回答
10

节点开发

对于喜欢在服务器重新启动或文件中发生错误更改时希望在桌面上获得咆哮(或 libnotify)通知的开发人员来说,node-dev 是 nodemon 和 supervisor 的绝佳替代品。

安装:

npm install -g node-dev

使用 node-dev,而不是 node:

node-dev app.js

更改文件通知,以便服务器自动启动

在此处输入图像描述

控制台输出

在此处输入图像描述

于 2016-12-06T06:35:59.670 回答
4

按照步骤:

  1. npm install --save-dev nodemon

  2. 将以下两行添加到 package.json 的“脚本”部分:

"start": "node ./bin/www",
"devstart": "nodemon ./bin/www"

如下所示:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node ./bin/www",
    "devstart": "nodemon ./bin/www"
}
  1. npm run devstart

https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/skeleton_website

于 2019-10-31T21:16:47.893 回答
3

runjs像这样使用:

runjs example.js

该包被称为只是run

npm install -g run
于 2015-11-10T09:47:31.713 回答