Nodemon无法监听文件求助:Express项目配置问题排查
搞定Nodemon不监听文件修改的问题
嘿,我一眼就看到问题出在哪了——你的Nodemon启动错文件啦!咱们来快速修复:
第一步:修正package.json里的dev脚本
把你现在的dev命令:
"dev": "nodemon --watch ./ ./app.js"
换成这个:
"dev": "nodemon ./bin/www"
为啥这能解决问题?
你的项目里,app.js只是负责定义Express的中间件和应用实例,但真正创建HTTP服务器、设置端口监听的逻辑全在./bin/www里呢!之前你让Nodemon启动app.js,相当于只跑了中间件的定义代码,根本没启动实际的服务器进程——就算文件改了,Nodemon重启的也是这个“无效”的进程,自然看不到服务器的变化。
改成启动./bin/www之后,Nodemon会默认监控整个项目目录的文件变化(不用额外加--watch ./也可以),不管你改app.js、./bin/www还是路由文件,它都会自动重启真正的服务器,修改就能实时生效了。
额外的小优化(可选)
如果想让Nodemon更精准地工作,比如只监听JS文件、忽略node_modules,可以把dev脚本改成:
"dev": "nodemon --ext js ./bin/www"
或者在项目根目录建个nodemon.json配置文件,自定义监听规则:
{ "watch": ["./bin", "./routes", "./app.js"], "ext": "js", "ignore": ["node_modules/"] }
这样它只会盯着你关心的文件,减少不必要的重启~
内容的提问来源于stack exchange,提问作者Karan Singh
相关产品推荐
相关产品推荐

