You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置nodemon同时支持JS与TS文件改动自动重载

问题原因

nodemon默认的监听后缀和启动入口的文件后缀绑定,你当前启动命令指定入口为start.ts,默认仅监听.ts后缀的文件改动,.js文件不在监听范围内,因此修改后不会触发自动重载。
注意tsconfig.json中的include配置仅作用于TypeScript编译阶段的文件扫描范围,不会对nodemon的监听逻辑产生任何影响,因此你将foobar/test.js加入include列表无法解决重载失效问题。

修复方案

方案1:直接修改启动脚本(最快生效)

在package.json的dev脚本中添加-e ts,js参数,显式声明nodemon需要监听的文件后缀,修改后脚本如下:

"dev": "npm install && nodemon -L -e ts,js start.ts"

参数说明:-e(全称--ext)用于指定监听的文件扩展名,多个后缀用逗号分隔,配置后所有.ts、.js文件的改动都会触发应用重载。

方案2:使用独立配置文件(适合后续扩展规则)

如果后续需要自定义忽略目录、执行参数等规则,可以在项目根目录新建nodemon.json统一管理nodemon配置,示例配置:

{
  "legacyWatch": true,
  "ext": "ts,js",
  "exec": "ts-node start.ts",
  "ignore": ["node_modules"]
}

配置完成后可以将dev脚本简化为:

"dev": "npm install && nodemon"
补充注意

如果需要在TS代码中直接引入本地JS模块,需要在tsconfig.json的compilerOptions中开启allowJs: true,否则ts-node运行时会无法识别JS模块,你当前继承的@tsconfig/node12/tsconfig.json默认未开启该选项,按需添加即可。

内容的提问来源于stack exchange,提问作者klutt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 11:42:22