nodemon无法正常工作

bru*_*ker 23 node.js express nodemon

我正在运行我的nodejs应用程序 npm start

我刚安装了nodemon, sudo npm install -g nodemon以便在保存对文件的更改时可以重新启动服务器.

但是当我尝试启动服务器时,就像这样

nodemon ./app.js localhost 3000 or nodemon start localhost 3000

我把它作为输出

LM-SJC-00871929:webapp gdeep$ nodemon ./app.js localhost 3000
28 May 23:34:30 - [nodemon] v1.1.1
28 May 23:34:30 - [nodemon] to restart at any time, enter `rs`
28 May 23:34:30 - [nodemon] watching: *.*
28 May 23:34:30 - [nodemon] starting `node ./app.js localhost 3000`
Run Code Online (Sandbox Code Playgroud)

但是当我去我的网页时,我明白了

Oops! Google Chrome could not connect to localhost:3000.我究竟做错了什么?

App.js在这里http://collabedit.com/t35dy

Som*_*ens 40

你正在运行express 4,它的app.listen调用文件不同于app.js.你要找的命令是nodemon bin/www(localhost而且3000在这种情况下并不需要).

事实上,你甚至可以运行nodemon与无参数,它会读取从什么命令需要scripts.startpackage.json(自动生成表达).

  • 如果您尝试仅使用node而不是nodemon运行Express应用程序,则会收到相同的错误.从express 4开始,运行服务器的脚本实际上是bin/www(注意没有.js扩展名).此www文件读取您的app.js*config*并运行服务器. (3认同)
  • 有用.非常感谢.你能够善良并向我解释那是什么.我是nodejs的新手.如果你太忙而无法解释其罚款,但任何指针或任何链接都会很棒. (2认同)
  • 还有一点值得补充的是,您可以使用没有args的`nodemon`来运行基于Express 4的应用程序,因为它将从package.json文件中变为红色并运行`scripts.start`选项. (2认同)
  • 哇,雷米夏普自己!我受宠若惊!我会在答案中加上这个. (2认同)

Sko*_*oua 15

这是我为使 nodemon 正确更新所做的工作:

nodemon index.js -L
Run Code Online (Sandbox Code Playgroud)

-L标志代表legacyWatch,这是官方文档的解释:

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

https://www.npmjs.com/package/nodemon#application-isnt-restarting

  • 像冠军一样工作! (2认同)

Gar*_*rth 8

就我而言,我必须全局安装 nodemon 。使用此命令执行此操作..

npm install -g nodemon
Run Code Online (Sandbox Code Playgroud)

如果您使用的是Linux,您可能需要在命令前加上 sudo 关键字以进行管理访问。

sudo npm install -g nodemon
Run Code Online (Sandbox Code Playgroud)


小智 6

  1. npm i nodemon
  2. 编辑您的Package.json文件:- 将开始设置为nodemon
"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon server.js"
}
Run Code Online (Sandbox Code Playgroud)
  1. 运行npm start尝试服务器


小智 5

尝试跑步 nodemon ./app.js 3000 or nodemon start 3000


小智 5

对于 Express.js 4,
使用 nodemon

nodemon bin/www


小智 5

在您的代码中添加以下代码

  1. app.js

    app.listen(3000, function(){
        console.log("info",'Server is running at port : ' + 3000);
    });
    
    Run Code Online (Sandbox Code Playgroud)
  2. package.json

    nodemon app.js 
    
    Run Code Online (Sandbox Code Playgroud)

然后从命令行运行npm start

  • Express 有自己的监听器。只需输入“nodemon”。 (2认同)