NodeJS - nodemon没有重新启动我的服务器

时间:2016-06-03 20:10:47

标签: javascript node.js npm nodemon

我安装了NodeJS(4.4.5),然后继续安装nodemon(1.9.2), 我遵循所有安装说明(npm install -g nodemon)

我创建了一个新文件夹,我的 server.js 包含一些基本代码:

var http = require('http');

http.createServer(function (request, response){
    response.writeHead( 200, {'Content-Type': 'text/plain'} );
    response.write("Hello world");
    response.end();
}).listen(3000, 'localhost');

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

所以当我在我的控制台“nodemon server.js”中运行时,我得到了这个:

[nodemon] 1.9.2
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node server.js`
http://localhost:3000

(这意味着运行正常)

但是当我在server.js中进行一些更改时,它不会重启服务器

可能是什么问题?

7 个答案:

答案 0 :(得分:15)

在某些网络环境中(例如运行nodemon读取已安装驱动器的容器),您需要使用legacyWatch:true来启用Chokidar的轮询。

通过CLI,使用--legacy-watch或简称-L:

  

nodemon -L

答案 1 :(得分:7)

我在nodemon 1.9.2上遇到了同样的问题:nodemon正在监视0个文件

(尝试详细模式nodemon server.js -V以获取更多信息)

经过一番研究,这个问题是由于我的根目录名称: 我的根目录名为“mysite.git”,因此nodemon正在观看0文件。我没有点重命名我的根目录,nodemon现在按预期工作。

从根目录中删除所有特殊字符,nodemon应按预期工作。

答案 2 :(得分:2)

你可以尝试像这样nodemon -L yourapp.js那样跑步:

"scripts": {
    "start": "node index.js",
    "dev": "nodemon -L index.js "
 }

并运行命令:

npm run dev

这对我有用!

答案 3 :(得分:1)

像这样编辑package.json文件:

 "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon",
  },```

This may help you.

答案 4 :(得分:0)

确定要添加到脚本中->开始--legacy-watch ./app

"scripts": {
    "start": "nodemon --legacy-watch ./app  ./bin/www "
},

答案 5 :(得分:0)

我只是遇到了似乎相同的问题,我将对代码进行更改并保存它们,但是nodemon不会重新启动服务器。我可以更新的唯一方法是通过控制台中的“ rs”。我在这里结束时正在寻找解决方案,但后来决定重新安装nodemon,因为没有很好的解释为什么它不起作用:

npm uninstall nodemon
npm install nodemon

重新安装后,自动重新启动代码更改成功。

答案 6 :(得分:0)

Nodemon 使用 SIGUSR2 信号重新启动服务器,交叉检查您的服务器是否覆盖了此进程信号的功能。 就我而言,我使用的是 heapdump 模块,它正在重置此信号,因此我使用以下命令启动服务器:-

env NODE_HEAPDUMP_OPTIONS=nosignal nodemon app.js

这对我有用。