如何将多个源文件传递给TypeScript编译器?

CCo*_*der 40 typescript tsc

TypeScript专为大型JavaScripty项目而设计,通常包含多个内部生成的文件以及外部生成的库.TypeScript编译器(tsc)如何期望您为组成项目的完整文件集提供它?

dee*_*hao 40

dir *.ts /b /s > ts-files.txt
tsc @ts-files.txt
del ts-files.txt
Run Code Online (Sandbox Code Playgroud)

这将编译*.ts工作目录及其子目录中的所有文件.如果您不想包含子目录,只需/s从第一行中删除该部分即可.

请注意,您还可以向该tsc行添加其他参数.以下是我现在用于其中一个项目的内容:

tsc @ts-files.txt --out ..\output/deerchao.web.js --removeComments
Run Code Online (Sandbox Code Playgroud)


Pet*_*son 30

如果您按顺序给出名称,tsc可以按顺序编译多个源:

tsc foo.ts bar.ts
Run Code Online (Sandbox Code Playgroud)

您还可以使用命令行参数从文本文件传递包含文件列表和命令行参数的文本文件@.

tsc @compile.txt
Run Code Online (Sandbox Code Playgroud)

compile.txt看起来是这样的:

--module amd
foo.ts
bar.ts
Run Code Online (Sandbox Code Playgroud)

另请注意,如果文件通过an引用另一个import,tsc将自动计算出来,而无需显式列出它所依赖的文件.

  • 实际上,它在使用--out参数时仅包含参考代码.那么有没有办法改变输出文件名而不改变行为? (3认同)
  • 编译单个文件时,TypeScript 将输出其他引用文件的生成代码。通过将所有文件传递给编译器,它不会执行此操作。(是否有命令行参数来防止它在编译单个文件时包含引用?) (2认同)