tsc执行后未生成.js文件问题排查 - TypeScript
问题原因
tsconfig.json的compilerOptions字段中配置了"emitDeclarationOnly": true,该配置项的作用是指定TSC编译时仅输出.d.ts类型声明文件,跳过.js、.jsx等运行时代码的生成,这是仅得到声明文件的核心原因。
解决方案
修改tsconfig.json的对应配置即可,可选两种修改方式:
- 删除
"emitDeclarationOnly": true配置行,保留"declaration": true配置,TSC编译时会同时输出.js运行时文件和.d.ts类型声明文件,符合1:1编译输出.js的需求。 - 将
"emitDeclarationOnly": true调整为"emitDeclarationOnly": false,效果与上述方案一致。
修改完成后重新执行yarn ts命令,dist目录下就会生成预期的.js文件。
额外优化建议
当前配置同时声明了rootDir和rootDirs两个功能重叠的配置项,若仅需要编译src目录下的代码,可删除rootDirs配置,避免出现不必要的编译异常。
内容的提问来源于stack exchange,提问作者Jamie Hutber
相关产品推荐
相关产品推荐

