You need to enable JavaScript to run this app. npm脚本运行tsc watch模式报tsconfig解析错误,终端执行tsc -w运行正常
优惠活动
大模型
产品
解决方案
定价
更多

npm脚本运行tsc watch模式报tsconfig解析错误,终端执行tsc -w运行正常

异常根因

两种执行场景调用的tsc程序根本不是同一个,叠加错误安装的废弃同名包,就出现了手动执行正常、npm脚本执行报错的现象:

  • npm的脚本执行逻辑有固定的可执行文件检索优先级:运行自定义脚本时,会优先扫描当前项目下node_modules/.bin路径内的命令,匹配到同名可执行文件后就停止检索,不会继续调用系统全局环境的程序;而你直接在终端手动敲tsc -w时,系统会直接匹配全局安装的可执行文件,两个路径指向的程序完全不同。
  • 你在devDependencies中安装的tsc@^1.20150623.0并非微软官方维护的TypeScript编译器,只是一个2015年就停止维护的同名占位废弃包。这个包仅支持解析无注释的纯标准JSON,完全不具备TypeScript官方为tsconfig.json设计的注释兼容能力——碰到配置文件里代表注释开头的/*斜杠(也就是报错信息提到的JSON解析位置31),就会抛出"Unexpected token /"的解析错误。
  • 你全局环境安装的是官方TypeScript编译器,本身支持读取带注释的tsconfig.json,所以手动执行命令时可以正常完成编译流程。
修复步骤
  • 卸载错误安装的废弃占位包:执行npm uninstall tsc --save-dev
  • 无需重复安装官方TypeScript:项目依赖中已经引入了typescript@^4.2.4,该包安装完成后会自动在node_modules/.bin目录下生成对应版本的官方tsc可执行文件,npm脚本执行时会正确匹配到这个官方程序。
  • 重新运行编译脚本即可,注意npm执行自定义脚本需要带上run关键字,完整启动监听模式的命令为npm run watch。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 07:36:04