将 TypeScript 编译到多个目标

Posted

技术标签:

【中文标题】将 TypeScript 编译到多个目标【英文标题】:Compile TypeScript to multiple targets 【发布时间】:2020-03-09 03:08:31 【问题描述】:

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

ES5

ES6

test.ts

tsconfig.json

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

【问题讨论】:

肯定有可能,你试过了吗? 【参考方案1】:

一个简单的解决方案是创建两个具有不同目标和输出目录的 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 并在构建脚本中直接指定 targetoutDir 参数(请参阅 Compiler Options)。

【讨论】:

以上是关于将 TypeScript 编译到多个目标的主要内容,如果未能解决你的问题,请参考以下文章

TypeScript + node.js + github.api, 实现github快速找到目标用户

Typescript 编译器错误 - 提供的参数与调用目标的任何签名都不匹配

更改打字稿目标会影响编译性能吗?

TypeScript系列教程04编译参数

TypeScript系列教程04编译参数

在 Typescript 2.0 中使用 @types 类型定义