TypeScript 专为大型 JavaScripty 项目而设计,这些项目通常由多个内部生成的文件以及外部生成的库组成。TypeScript 编译器 (tsc) 如何期望您为它提供构成项目的完整文件集?
6 回答
dir *.ts /b /s > ts-files.txt
tsc @ts-files.txt
del ts-files.txt
这将编译*.ts
工作目录及其子目录中的所有文件。如果您不想包含子目录,只需/s
从第一行中删除该部分即可。
请注意,您还可以向该tsc
行添加其他参数。这是我现在用于我的一个项目的内容:
tsc @ts-files.txt --out ..\output\deerchao.web.js --removeComments
如果您只是按顺序给出名称,tsc 可以按顺序编译多个源:
tsc foo.ts bar.ts
您还可以使用命令行参数从文本文件传递包含文件列表和命令行参数的文本文件@
。
tsc @compile.txt
并且compile.txt
可能看起来像这样:
--module amd
foo.ts
bar.ts
另请注意,如果文件通过 , 引用另一个文件import
,tsc
将自动计算出来,而无需显式列出它所依赖的文件。
如果有人在 Mac OS X 上需要这个:
find . -name "*.ts" -type f >ts-files.txt
/usr/local/bin/tsc @ts-files.txt --module CommonJS --out ./Deploy/ServerMain.js --removeComments
rm ts-files.txt
使用 TypeScript 1.5(测试版,但最终版本应该很快就会出现),您可以创建一个 tsconfig.json 文件来配置 TypeScript 编译器和要编译的文件(除其他外)。请参阅我的答案:如何查看和编译所有 TypeScript 源代码?
如果有人需要在实际项目编译之前预编译多个文件,请使用带有--project编译器选项的单独 tsconfig 。
在给定有效配置文件的情况下编译项目。参数可以是有效 JSON 配置文件的文件路径,也可以是包含 tsconfig.json 文件的目录的目录路径。有关更多详细信息,请参阅 tsconfig.json 文档。
一个用例是需要生成的 JS 文件,然后在 ionic 应用程序脚本的命令行参数中使用。
或者简单地说:
find ./my/path/ -name \"*.ts\" -type f | tsc