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

使用nodemon运行server.js无报错无成功提示,卡在clean exit状态如何解决

问题原因及解决方法

根因定位

  1. 启动文件错误:你执行的启动命令是nodemon server.js,但项目中负责数据库连接、调用app.listen启动端口监听的逻辑全部写在index.js中。server.js仅导出了express实例,没有启动服务的逻辑,文件执行完所有代码后就会直接正常退出,所以nodemon会输出clean exit - waiting for changes before restart,不会有服务启动成功的日志。
  2. 代码拼写错误:就算后续启动index.js,现有代码也存在两处拼写问题会导致异常:
    • MongoDB连接参数写错:useNewUrlParse应为useNewUrlParser,参数不生效会导致数据库连接失败
    • 错误日志打印写错:err.stakc应为err.stack,连接出错时无法正常打印错误栈排查问题
  3. MongoDB Atlas连接配置异常:如果启动正确文件后仍无响应,大概率是MongoDB云数据库的连接配置有问题:
    • Atlas的IP白名单未添加你当前设备的公网IP
    • .env文件中的RESTREVIEW_DB_URI连接串配置错误,账号、密码、集群地址、数据库名存在未替换的占位符
    • .env文件未放在项目根目录,环境变量读取失败

解决步骤

  • 第一步:替换启动命令,启动正确的入口文件:
    nodemon index.js
    
  • 第二步:修正index.js中的两处拼写错误:
    // 修正连接参数
    MongoClient.connect(
        process.env.RESTREVIEW_DB_URI,
        {
            maxPoolSize: 50, 
            wtimeoutMS: 2500,
            useNewUrlParser: true // 这里修正拼写
        }
    )
    .catch(err => {
        console.log(err.stack) // 这里修正拼写
        process.exit(1)
    })
    
  • 第三步:检查MongoDB Atlas配置:
    • 登录Atlas控制台,进入「Network Access」页面,确认当前设备公网IP已加入白名单,测试阶段可临时设置为0.0.0.0/0验证连通性
    • 确认项目根目录存在.env文件,RESTREVIEW_DB_URI连接串中的账号、密码、集群地址均替换为你自己的实际配置,没有保留官方占位符
  • 第四步:验证服务启动,正常情况下终端会输出Listening on port 8000的日志,访问http://localhost:8000/api/v1/restuarants可看到返回Hello World

内容的提问来源于stack exchange,提问作者Syed mujahid Iqbal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:00:05