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

如何配置TSConfig实现.ts文件对应编译到同应用的js目录?

解决方法

推荐方案:使用TypeScript项目引用(多tsconfig)

这种方式能精准控制每个应用的编译路径,符合TypeScript最佳实践,VSCode也能完美支持。

  1. 创建根目录tsconfig.json:
{
  "files": [],
  "references": [
    { "path": "./app_1" },
    { "path": "./app_2" }
  ]
}
  1. 在app_1目录下创建tsconfig.json:
{
  "compilerOptions": {
    "target": "ES6", // 根据需求调整JS目标版本
    "module": "CommonJS", // 匹配你的模块系统
    "strict": true, // 开启严格类型检查,可按需关闭
    "rootDir": "./ts", // 指定TS源码的根目录
    "outDir": "./js", // 指定编译后JS文件的输出目录
    "skipLibCheck": true
  },
  "include": ["./ts/**/*"], // 包含ts目录下所有文件
  "exclude": ["./js/**/*"] // 排除已编译的JS文件
}
  1. 在app_2目录下复制相同的tsconfig.json:
    确保rootDir和outDir指向各自的ts/js文件夹即可。

  2. 在VSCode中编译:

  • 打开命令面板(Ctrl+Shift+P),输入TypeScript: Build All,可一次性编译两个应用的TS文件到对应JS目录。
  • 若需要自动编译,输入TypeScript: Watch All,之后修改TS文件会自动同步编译到对应JS目录。

单配置方案(仅作参考,需配合文件移动)

如果不想使用多个配置文件,可尝试以下方式,但编译后需要手动或脚本将JS文件从ts目录移到js目录:

{
  "compilerOptions": {
    "target": "ES6",
    "module": "CommonJS",
    "strict": true,
    "rootDir": "./",
    "outDir": "./",
    "skipLibCheck": true
  },
  "include": [
    "app_1/ts/**/*",
    "app_2/ts/**/*"
  ],
  "exclude": [
    "node_modules",
    "**/js/**/*"
  ]
}

编译后TS文件会在原ts目录生成对应JS文件,需手动移动到同级js目录,也可编写简单脚本自动处理。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:35:31