nodemon:expressjs app没有启动干净退出 - 在重启之前等待更改

时间:2018-02-27 04:52:11

标签: javascript node.js express nodemon

我已使用express-generator生成快速申请,一切正常,直到我删除了node_modules文件夹。

重新安装后,节点模块nodemon无法启动应用程序。

  

[nodemon]启动node app.js [nodemon]清除退出 - 等待   重启前更改

这是package.json文件

{
  "name": "testapp",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www",
    "build": "node ./bin/www"
  },
  "dependencies": {
    "body-parser": "~1.18.2",
    "cookie-parser": "~1.4.3",
    "cors": "^2.8.4",
    "csurf": "^1.9.0",
    "debug": "~2.6.9",
    "express": "~4.15.5",
    "express-session": "^1.15.6",
    "jade": "~1.11.0",
    "morgan": "~1.9.0",
    "serve-favicon": "~2.4.5"
  },
  "main": "app.js",

}

2 个答案:

答案 0 :(得分:2)

您可以修改package.json并使其运行。

  "scripts": {
    "start": "node ./bin/www",
    "build": "nodemon ./bin/www"
  },

然后您可以使用

正常运行您的应用
npm build

因为nodemon通常会执行npm start命令并在您运行nodemon时开始观看您的文件,但是从快递4运行node app.js似乎不再有效

您可以修改package.json构建命令但不要修改启动命令,因为当您将其部署到生产环境时,它通常会执行npm start,因为生产环境通常不会有nodemon

答案 1 :(得分:1)

这不是nodemon的问题,当您运行nodemon的文件结束执行时(即不连续运行的脚本),会发生此错误。

我克隆了你的回购并为我工作正常,所以你应该运行nodemon app.js

Server running

如果您使用快速生成器生成应用程序,则您的app.js不是侦听服务器的文件。实际上,bin/www文件是开始监听的文件,应用程序只创建服务器对象。

所以nodemon ./bin/www应该为你做的伎俩。

你也可以编辑package.json并在代码中添加以下内容

"scripts": {
    "start": "node ./bin/www",
    "dev": "nodemon ./bin/www"
}

然后运行npm run dev