nodemon:expressjs 应用程序未启动干净退出 - 在重新启动之前等待更改

nodemon:expressjs app not starting clean exit - waiting for changes before restart

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

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

[nodemon] starting node app.js [nodemon] clean exit - waiting for changes before restart

这是 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",

}

您可以修改您的 package.json 并使其成为 运行ning。

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

然后您可以 运行 您的应用正常使用

npm build

因为 nodemon 通常会执行 npm start 命令并在您 运行 nodemon 时开始监视您的文件,但是从 express 4 运行ning node app.js 不会'它似乎不再工作了

你可以修改 package.json build 命令但不要修改 start 命令,因为当你将它部署到生产环境时,它通常会执行 npm start 而生产环境通常不会有nodemon

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

我已经克隆了你的存储库并且对我来说工作正常所以你应该 运行ning nodemon app.js

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

所以 nodemon ./bin/www 应该可以满足您的需求。

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

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

然后运行 npm run dev.