include 作用
指定需要编译处理的文件列表,支持 glob
模式匹配,文件的解析路径相对于当前项目的 tsconfig.json
文件位置
匹配规则
*
:匹配零个或者多个字符(包括目录的分隔符)?
:匹配任一字符(包括目录分隔符)**/
:匹配任何层级的嵌套目录
如果没有明确指定文件扩展名。那么默认情况下仅会包含
.ts
、.tsx
和.d.ts
类型的文件。但是如果allowJs
选项被设置成了true
,那么.js
和.jsx
文件也会被包含其中
示例
当我们的目录结构如下

include
配置为src
或者src/
时,src
下的所有文件都会经过ts
的编译include
配置为src/*
时,src
下第一层级的子文件会经过ts
的编译include
配置为src/*.js
时,src
下第一层级的子文件以.js
结尾的会经过ts
的编译include
配置为src/**/*
时,src
下的所有文件都会经过ts
的编译,目录层级不限include
配置为src/**/*.js
时,src
下以.js
结尾的会经过ts
的编译,并且在其对应的目录下面,目录层级不限include
配置为**/*
时,包含当前项目中所有文件
exclude 作用
用于指定当解析 include
选项时,需要忽略的文件列表
exclude
的默认值是["node_modules", "bower_components", "jspm_packages"]
加上outDir
选项指定的值exclude
配置为["src/*.ts"]
代表忽略当前src
下第一层级的ts
文件- 任何被
files
或include
指定的文件所引用的文件也会被包含进来,A.ts
引用了B.ts
,因此B.ts
不能被排除,除非引用它的A.ts
在exclude
列表中。
files 作用
用来指定需要编译的文件列表(注意,只能是文件,不能是文件夹)
- 如果其中任意一个文件无法找到,都会抛出错误
- 通过
files
属性明确指定的文件却总是会被包含在内,不管exclude
如何设置 - 这个配置项适用于你想要指定的文件数量比较少,并且不需要使用
glob
模式匹配的情况。否则,请使用include
配置项