使用Nodemon时保存文件自动生成dist文件夹,如何停止该行为?
问题根因排查及解决方法
可能的触发原因
这个自动生成dist的行为并不是nodemon默认自带的功能,大概率是其他配套配置/进程触发了自动编译逻辑,常见原因如下:
- 编辑器/IDE安装了自动编译类插件,设置了保存文件时自动转译js/ts文件
- Nodemon配置了事件钩子,在检测到文件变更时自动执行编译命令
- 后台有独立运行的编译监听进程(比如
tsc --watch、babel --watch)没有关闭 - 项目的tsconfig/babel/webpack等配置开了开发环境自动输出到dist的规则
解决步骤
- 先排查编辑器配置
禁用当前编辑器的Babel转译、TS自动编译类插件,检查编辑器的任务配置是否有设置「保存时自动运行编译任务」,修改后测试保存文件是否还会生成dist - 检查Nodemon配置
查看项目根目录下是否存在nodemon.json、.nodemonrc配置文件,或package.json中的nodemon配置项,检查是否配置了exec带编译命令、event.change钩子触发编译脚本,找到对应配置删除即可 - 检查编译相关配置
- 查看是否存在
tsconfig.json,检查outDir参数是否指向子目录dist,同时关闭watch、incremental自动编译选项 - 查看是否存在Babel配置文件,确认没有后台运行的
babel --watch监听进程
- 查看是否存在
- 临时规避方案
可以直接修改package.json中的启动命令,让nodemon强制忽略所有dist目录,同时避免自动编译引发的服务循环重启:"scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "nodemon --ignore '**/dist' index.js" }
内容的提问来源于stack exchange,提问作者tbowden
相关产品推荐
相关产品推荐

