文件配置
文件选项
files
files指定一个包含相对或绝对文件路径的列表,列举在files中的所有文件,编译器在编译时都会将它们包含在内。
// tsconfig.json
"files": [
"src/core.ts",
"src/index.ts",
]
当配置文件中的files字段值如上所示时,使用tsc命令编译时,src目录下的core.ts和index.ts文件会被编译为core.js和index.js文件。
include
include指定编译的文件或目录,include是支持使用通配符来匹配路径名,支持的通配符及其功能如下表所示:
| 通配符 | 功能 |
|---|---|
| * | 匹配0或多个字符,但是不匹配"."开头的隐藏文件和目录分隔符(/ or \ ) |
| ? | 匹配一个任意字符,但是不匹配目录分隔符 |
| ** | 匹配0或多个字符,包括斜杠(这意味着可以匹配多个目录) |
例如,编译src下所有文件:
"include": [
"src",
]
只编译src二级目录下的文件:
"include": [
"src/*/*",
]
当tsconfig.json文件同时配置了files和 include 字段时,编译器会将它们进行合并。当files和 include中配置的的文件所引用的文件不在其中时,被引用的文件也会被包含进来。
exclude
exclude指定编译时排除的文件或目录,exclude的用法与include相同。
当没有配置files和 include 字段时,编译器会默认编译当前目录和子目录下所有的ts文件(.ts, .d.ts 和 .tsx),排除在exclude里配置的文件。而当设置了files和 include 字段时,可以通过exclude字段过滤include的文件。
caution
需要注意的是:通过 files属性明确指定的文件却总是会被编译,不管exclude如何配置。
此外,exclude默认情况下会排除node_modules,bower_components,jspm_packages和输出目录。