Nodemon无法运行:clean exit提示问题求助(附代码)
问题排查与解决
你遇到的[nodemon] clean exit - waiting for changes before restart提示,核心原因是程序启动后立即退出,没有持续运行的进程,问题出在Index.js的代码逻辑里:
代码问题点
你把main().catch(console.error);写在了main函数的内部,导致:
- 函数定义完成后,没有被外部调用执行
- 程序执行到函数定义结束就没有后续逻辑,直接退出,因此Nodemon检测到进程结束,进入等待重启状态
修正后的Index.js代码
import app from "./server.js"; import mongodb from "mongodb"; import dotenv from "dotenv"; async function main(){ dotenv.config(); const client = new mongodb.MongoClient(process.env.MOVIEREVIEWS_DB_URI); const port = process.env.PORT || 8000; try{ // connect to mongodb cluster await client.connect(); app.listen(port,()=>{ console.log("server is running on port:"+port); }); } catch(e){ console.error(e); process.exit(1); } } // 将main函数的调用移到函数外部,确保程序启动时执行 main().catch(console.error);
额外检查项
- 确认
.env文件存在,且MOVIEREVIEWS_DB_URI配置正确,避免因数据库连接失败导致进程退出 - 检查依赖是否全部安装:执行
npm install express cors mongodb dotenv nodemon确保所有包都已安装 - 确认Nodemon的启动命令正确,比如在
package.json中配置"start": "nodemon index.js"
内容的提问来源于stack exchange,提问作者Neeraj Sahita
相关产品推荐
相关产品推荐

