You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Node.js中nodemon启动应用时立即崩溃并提示'app crashed - waiting for file changes before starting'的问题?

解决nodemon启动Node.js应用后立即崩溃的问题

我之前也碰到过nodemon一启动就崩溃的情况,那种只看到"[nodemon] app crashed - waiting for file changes before starting"提示却看不到具体错误的感觉真的很头疼!咱们一步步来排查和解决:

第一步:先获取真正的崩溃错误信息

nodemon的默认提示太笼统,我们得先看到Node.js应用本身的崩溃日志。最简单的方法是直接用node命令启动应用,跳过nodemon:

node server.js

这会输出应用崩溃的具体原因——比如MongoDB连接失败、模块缺失、语法错误等等,这是排查的关键。

如果还是想通过nodemon看详细日志,可以修改package.json的脚本,添加--verbose参数:

{
  "scripts": {
    "dev": "cross-env NODE_ENV=development nodemon server.js --verbose"
  }
}

常见崩溃原因及解决办法

结合你提供的代码,以下是最可能的几个问题:

1. MongoDB连接失败

你的server.js一开始就调用了connectDB(),如果连接失败,会直接触发process.exit(1)导致应用崩溃。可能的原因:

  • 本地MongoDB服务未启动:Windows下可以打开「服务」(Win+R输入services.msc),找到MongoDB服务并启动;或者在命令行运行mongod启动服务。
  • 数据库URL配置错误:检查dbconfig.js里的database字段,格式是否正确:
    • 本地MongoDB应该是mongodb://localhost:27017/你的数据库名
    • 如果是MongoDB Atlas远程数据库,要确保URL包含正确的用户名、密码、集群地址,并且IP地址已经加入白名单
  • Mongoose版本不兼容:你代码里用的useNewUrlParser、useUnifiedTopology、useFindAndModify这些参数,在Mongoose 6.x及以上版本已经被移除了。如果你的Mongoose是新版本,修改connectDB函数:
    const connectDB = async () => {
      try {
        const conn = await mongoose.connect(dbConfig.database);
        console.log(`MongoDB Connected: ${conn.connection.host}`);
      } catch (err) {
        console.error('MongoDB连接失败:', err);
        process.exit(1);
      }
    };
    

2. 依赖缺失或版本不兼容

检查是否所有用到的依赖都已安装:

npm install express morgan cors mongoose body-parser passport cross-env --save

另外,检查Node.js版本与依赖的兼容性——比如Node.js 18+可能和某些旧版本的Mongoose不兼容,可以尝试升级Mongoose到最新稳定版:

npm install mongoose@latest

3. 端口混淆(你可能踩了这个坑)

你提到修改了3306端口,但你的Node.js应用用的是3000(或环境变量PORT),而3306是MySQL的默认端口,MongoDB的默认端口是27017。如果是MongoDB端口被占用,需要检查27017端口,而不是3306:

netstat -ano | findstr :27017

如果被占用,可以关闭占用进程,或者修改MongoDB的端口配置。

4. cross-env未正确安装

Windows下需要cross-env来正确设置环境变量,如果没安装,会导致NODE_ENV未被正确设置(虽然这不一定直接导致崩溃,但可能影响其他逻辑):

npm install cross-env --save-dev

最后验证

当你解决了具体错误后,再运行npm run dev,应该就能看到应用正常启动,nodemon也会开始监听文件变化了。

内容的提问来源于stack exchange,提问作者pomoworko.com

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 19:38:11