蓝盟IT外包
babel还可以指定输出目录,并指定要忽略的文件和目录。 当然,TypeScript也可以在命令行中指定所有设置(如babel ),也可以将这些设置放置在tsconfig.json中,然后作为配置文件传递给TypeScript Compiler。 这是tsconfig.json文件的本来用途,接受用户输入作为设定项目。
如上所述构成
读取所有可识别的src目录下的文件(通过include )。
接受JavaScript作为输入(通过allowJs )。
所有生成的文件都通过outDir放置在built目录中。
将JavaScript代码降级为较低版本,如ecmascript5(通过target )。
实际的项目比这个还要复杂。 接下来,让我们进一步解读。 但是,在讨论配置项目之前,我们先看看tsconfig.json是如何分析的。
如果目录下存在tsconfig.json文件,则表示该目录是TypeScript项目的根目录。 如果使用tsc编译项目,但不显式指定配置文件的路径,则tsc将分步搜索tsconfig.json,其父目录类似于节点的模块搜索机制。

图:
如果在[email protected]@uglify-js下运行tsc,则会找到配置文件1,变成[email protected]@uglify-js
同样,在lib中,node_modules也会找到配置文件1
如果在_ ugl ify-js @3.7.2@ ugl ify-js/bin/lucifer下运行tsc,将找到配置文件2。
在_ ugl ify-js @3.7.2@ ugl ify-js/lib/lucifer下运行tsc时,将找到配置文件3。
实际上,它不仅接受文件或文件集合作为输入,还接受tsconfig.json。 tsconfig.json的内容决定编译的范围和动作,根据结构的不同,可能得到不同的输出,也可能得到不同的检查结果。当tsc找到tsconfig.json文件时,typescript将处理所有指定的编译目录。 当然,也包括依存的文件。 如果tsc在tsconfig.json或tsconfig中找不到有效信息,tsc将使用默认配置。