使用Nodemon+TypeScript时始终加载旧文件问题求助
解决nodemon优先加载JS文件而非更新TS的问题
方案1:修改运行命令,明确指定ts-node执行
将原命令替换为:
npx nodemon --exec ts-node application/admin/admin-rest.ts
通过--exec参数强制nodemon每次重启时调用ts-node处理TS文件,绕过Node.js默认优先加载同名JS的逻辑。
方案2:创建nodemon配置文件,忽略JS文件并指定执行器
在项目根目录创建nodemon.json文件,写入以下内容:
{ "watch": ["application/**/*.ts"], "ignore": ["*.js"], "exec": "ts-node application/admin/admin-rest.ts" }
之后只需运行:
npx nodemon
配置文件会让nodemon只监听TS文件变更,忽略同目录下的JS文件,同时固定用ts-node启动指定TS文件。
方案3:命令行直接添加忽略参数
如果不想创建配置文件,也可以在命令中直接添加忽略规则:
npx nodemon --ignore '*.js' --exec ts-node application/admin/admin-rest.ts
问题根源
nodemon底层依赖Node.js的模块查找机制,当同目录存在同名JS文件时,Node.js会优先加载JS而非TS,即便TS文件已更新,重启后仍会读取旧的JS文件。上述方案通过强制使用ts-node处理TS、忽略JS文件两种方式,解决了这个优先级冲突问题。
内容的提问来源于stack exchange,提问作者Ivan Pandžić
相关产品推荐
相关产品推荐

