【问题标题】:nodemon:expressjs app not starting clean exit - waiting for changes before restartnodemon:expressjs 应用程序未启动干净退出 - 重新启动前等待更改
【发布时间】:2018-08-06 16:03:10
【问题描述】:

我已经使用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",

}

【问题讨论】:

  • 可能是您的其他代码文件包含代码问题。或者尝试删除包锁json然后尝试运行它
  • 删除了package-lock.json,但还是一样
  • 能否将可重现的示例代码放入git repo并发送,以便更好地分析根本原因
  • @harshzalavadiya 找到问题了吗?

标签: javascript node.js express nodemon


【解决方案1】:

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

我已经克隆了你的 repo 并且对我来说工作正常,所以你应该运行 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

【讨论】:

  • 我遇到了同样的问题,但编辑 package.json 对我不起作用
【解决方案2】:

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

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

然后你就可以正常运行你的应用了

npm build

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

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

【讨论】:

  • 你救了我的命
猜你喜欢
  • 1970-01-01
  • 2018-07-10
  • 2021-09-07
  • 1970-01-01
  • 2018-07-12
  • 1970-01-01
  • 1970-01-01
  • 2020-01-19
  • 1970-01-01
相关资源
最近更新 更多