将 TypeScript 编译为多个目标

fve*_*ann 3 ecmascript-5 typescript ecmascript-6 tsconfig

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

ES5

ES6

测试文件

配置文件

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

Ano*_*non 13

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

tsconfig-es5.json

{
  "compilerOptions": {
    "target": "ES5",
    "outDir": "./ES5",
    // Additional configuration like module type etc.
}
Run Code Online (Sandbox Code Playgroud)

tsconfig-es6.json

{
  "compilerOptions": {
    "target": "ES6",
    "outDir": "./ES6",
    // Additional configuration like module type etc.
}
Run Code Online (Sandbox Code Playgroud)

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

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

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