VS Code中Nodemon对部分文件无响应,如何修复?
检查Nodemon忽略配置
查看项目根目录的nodemon.json、package.json里的nodemonConfig段,或者启动命令中的--ignore参数,确认UserController.js这类文件有没有被误加入忽略列表。比如如果存在"ignore": ["*.controller.js"]这类规则,就会导致文件修改不触发重启。
也可以直接在命令行运行nodemon --show-config,查看当前生效的所有配置,排查是否存在意外的忽略规则。确认文件扩展名匹配
Nodemon默认只监听.js、.mjs、.json这类扩展名,如果你的文件是.ts、.jsx或其他特殊后缀,需要手动指定监听的扩展名。比如在启动命令中添加--ext js,ts,或者在配置文件中设置"ext": "js,ts,json"。另外也检查下文件名是否存在拼写错误,比如把.js写成.ts但未配置监听ts文件,也会导致无响应。检查文件是否在监听范围内
默认Nodemon监听当前目录,但如果启动命令指定了特定目录(比如nodemon ./src),而目标文件在src目录外,自然不会被监听。可以改成nodemon .监听根目录,或者在配置中添加"watch": ["./src", "./your-other-folder"],把需要监听的目录都纳入范围。清除Nodemon缓存
缓存异常可能导致监听失效,试试运行nodemon --no-stdin --watch . --delay 1强制刷新监听,或者删除项目中的.nodemon缓存目录(如果存在的话)。排查文件系统通知问题
有些编辑器的保存机制可能不会触发文件系统的变化通知,导致Nodemon检测不到修改。可以用命令行修改文件测试,比如执行echo "// test" >> UserController.js,如果这样能触发重启,那就是编辑器的问题,关掉编辑器的“安全保存”之类的功能,或者换个编辑器试试。直接指定入口文件启动
如果之前用nodemon裸启动,改成nodemon ./server.js(替换为你的实际入口文件名),让Nodemon明确关联入口文件的依赖,避免自动识别依赖时遗漏文件。
内容的提问来源于stack exchange,提问作者user22362540

