exclude配置项详解
exclude
在 TypeScript 的
tsconfig.json
文件中,exclude
配置项用于指定哪些文件或目录应该被 TypeScript 编译器排除,不参与编译。它的作用与include
配置项相反,exclude
用来过滤掉不需要处理的文件或目录。
路径模式:
- 文件路径:可以指定具体的文件路径,例如
src/test.ts
,这将排除src/test.ts
文件。 - 目录路径:可以指定目录路径,TypeScript 会排除该目录下的所有文件,包括其子目录中的文件。例如,
dist/
将排除dist
目录及其所有子目录中的文件。 - 通配符:
**/*.ts
:排除所有.ts
文件,包括子目录中的文件。src/**/*
:排除src
目录及其所有子目录中的所有文件。
默认排除项:
- 默认情况下,
exclude
会自动排除node_modules
目录中的文件,不需要手动配置。这是因为 TypeScript 通常不需要编译来自node_modules
的第三方依赖。 - 如果没有显式配置
exclude
,TypeScript 会自动排除node_modules
。
与 include
配合使用:
exclude
配置项是与include
配置项协同工作的。在指定了include
后,TypeScript 会包括include
中指定的文件,然后排除exclude
中指定的文件。- 如果同时指定了
include
和exclude
,exclude
会首先排除不需要的文件,然后include
会再次明确哪些文件需要被编译。需要注意的是,exclude
优先于include
。
空数组:
如果将 exclude
配置项设置为空数组 []
,则 TypeScript 将不会排除任何文件,意味着所有文件都会被编译,除非通过 include
明确指定了要编译的文件。
与 files
配合使用:
files
配置项用于显式指定要编译的文件,与exclude
配合使用时,可以指定一组精确的文件列表,排除掉那些不需要的文件。