Skip to main content

文件配置

文件选项

files

files指定一个包含相对或绝对文件路径的列表,列举在files中的所有文件,编译器在编译时都会将它们包含在内。

// tsconfig.json
"files": [
"src/core.ts",
"src/index.ts",
]

当配置文件中的files字段值如上所示时,使用tsc命令编译时,src目录下的core.tsindex.ts文件会被编译为core.jsindex.js文件。

include

include指定编译的文件或目录,include是支持使用通配符来匹配路径名,支持的通配符及其功能如下表所示:

通配符功能
*匹配0或多个字符,但是不匹配"."开头的隐藏文件和目录分隔符(/ or \ )
?匹配一个任意字符,但是不匹配目录分隔符
**匹配0或多个字符,包括斜杠(这意味着可以匹配多个目录)

例如,编译src下所有文件:

"include": [
"src",
]

只编译src二级目录下的文件:

"include": [
"src/*/*",
]

tsconfig.json文件同时配置了filesinclude 字段时,编译器会将它们进行合并。当filesinclude中配置的的文件所引用的文件不在其中时,被引用的文件也会被包含进来。

exclude

exclude指定编译时排除的文件或目录,exclude的用法与include相同。

当没有配置filesinclude 字段时,编译器会默认编译当前目录和子目录下所有的ts文件(.ts, .d.ts.tsx),排除在exclude里配置的文件。而当设置了filesinclude 字段时,可以通过exclude字段过滤include的文件。

caution

需要注意的是:通过 files属性明确指定的文件却总是会被编译,不管exclude如何配置

此外,exclude默认情况下会排除node_modulesbower_componentsjspm_packages和输出目录。

参考目录

  1. 配置 tsconfig.json:文件选项,by 梁宵
  2. TypeScript official docs: tsconfig.json