首页 > 解决方案 > 将 TypeScript 编译到多个目标

问题描述

我想将 Typescript 文件编译为多个目标,例如 ES5 和 ES6。我有以下示例目录:

ES5

ES6

测试.ts

tsconfig.json

因此,当我运行编译器时,我希望它将 test.ts 作为 ES5 编译到 ES5 文件夹,并将 ES6 编译到 ES6 文件夹。这有可能吗?

标签: typescriptecmascript-6ecmascript-5tsconfig

解决方案


一个简单的解决方案是创建两个tsconfig.json具有不同目标和输出目录的文件。

tsconfig-es5.json

{
  "compilerOptions": {
    "target": "ES5",
    "outDir": "./ES5",
    // Additional configuration like module type etc.
}

tsconfig-es6.json

{
  "compilerOptions": {
    "target": "ES6",
    "outDir": "./ES6",
    // Additional configuration like module type etc.
}

然后创建一个连接构建的构建脚本,例如对于 Windows:

tsc --project ./tsconfig-es5.json && tsc --project ./tsconfig-es6.json

另一种方法是拥有一个 tsconfig.json 并直接在构建脚本中指定targetand参数(请参阅编译器选项)。outDir


推荐阅读