我正在创建一个TypeScript库,可以将所有生成的JS文件轻松编译成单个文件。有没有办法将所有.ts和.d.ts编译成单个.ts文件?
支持纯TypeScript实现的库将会很好(为那些希望获得良好的智能提示并能够调试核心TS文件的人),此外还需要支持JS版本(较低的智能提示,只能调试生成的文件)。
一种解决方案是创建一个PowerShell脚本来连接所有文件,但是我没有看到一种好的动态方式(由于依赖项)来完成这个操作,而不是硬编码所有文件名的正确顺序。
我正在创建一个TypeScript库,可以将所有生成的JS文件轻松编译成单个文件。有没有办法将所有.ts和.d.ts编译成单个.ts文件?
支持纯TypeScript实现的库将会很好(为那些希望获得良好的智能提示并能够调试核心TS文件的人),此外还需要支持JS版本(较低的智能提示,只能调试生成的文件)。
一种解决方案是创建一个PowerShell脚本来连接所有文件,但是我没有看到一种好的动态方式(由于依赖项)来完成这个操作,而不是硬编码所有文件名的正确顺序。
tsc --out mylib.js --declaration first.ts second.ts
--out FILE
将输出连接并发射到单个文件中。
tsc --out modules.js main.ts app.ts
outFile
选项编译模块,则会抛出以下错误:'error TS6131: 无法使用选项'outFile'编译模块,除非'--module'标志为'amd'或'system'。' 添加这些标志只会创建多个文件,与 basarat 的解决方案(在命令行中为每个文件命名)不同。 - Ivan Castellanos我认为目前没有专门用于TypeScript的工具可以将所有文件混合在一起,但是如果您有一个构建脚本,只需编写一小段代码即可在项目或所需范围内定位所有*.ts文件,然后只需创建一个新文件并将这些现有文件附加到其中。然后,您将拥有一个名为my-project.ts
的大文件,您可以通过tsc.exe
运行它,并使用--declaration
标志(或类似名称)输出my-project.d.ts
。
如果您希望将其用作其他人使用的分布式库,则必须以某种方式打包它,无论是一个大型.ts文件还是其他机制...我曾经问过类似的问题: