3

所以我正在创建一个 TypeScript 库,我可以轻松地将所有生成的 JS 文件编译成一个文件。有没有办法将所有 .ts 和 .d.ts 编译成一个 .ts 文件?

除了支持 JS 的版本(较小的智能感知,只能调试生成的文件)之外,支持纯 TypeScript 实现的库(对于那些想要好的智能感知并能够调试核心 TS 文件的人)会很好。

一种解决方案是创建一个连接所有文件的 powershell 脚本,但我没有看到动态执行此操作的好方法(因为依赖关系),而无需以正确的顺序对所有文件名进行硬编码。

4

3 回答 3

1


您必须使用编译器的命令行参数

--out FILE连接并将输出发送到单个文件

例子

 tsc --out modules.js main.ts app.ts

以上答案取自此链接

TypeScript 编译为单个 JS 文件

于 2013-04-08T17:19:50.583 回答
1

您可以将文件编译成 .d.ts 和 .js

如果您有多个打字稿文件并运行:

tsc --out mylib.js --declaration first.ts second.ts 

您将获得 (mylib.js + mylib.d.ts),然后您可以从 typescript 或 javascript 中使用它。

你可以在这里看到一个例子:https ://github.com/basarat/ts-test/tree/master/tests/compileToSingle

于 2013-05-22T00:16:52.430 回答
0

我认为没有可用的 Typescript 特定工具可以让您基本上将所有文件组合在一起,但是如果您有一个构建脚本,只需编写一些简单的代码来定位您的项目或所需范围内的所有 *.ts 文件,然后只需创建一个新文件并继续将这些现有文件附加到新文件中。然后你会有一个大的my-project.ts,你可以通过tsc.exewith--declaration标志(或类似的名称)运行它,然后my-project.d.ts它也会为你输出一个。

如果您想将它用作分布式库以供其他人使用,那么您将不得不以某种方式对其进行打包,无论是一个大的 .ts 还是其他一些机制......我之前问过一个问题:

你能创建 Typescript 包吗?像 c# dll

于 2013-04-16T11:45:02.627 回答