搜索Ctrl+K
博客
TypeScript项目配置最佳实践:tsconfig.json中的include/exclude使用指南

TypeScript项目配置最佳实践:tsconfig.json中的include/exclude使用指南

· 更新于 | 3 分钟阅读

TypeScript项目配置最佳实践:tsconfig.json中的include/exclude使用指南

TypeScript项目配置是现代前端开发的基础,合理的tsconfig.json配置不仅能提高编译效率,还能避免不必要的错误。本文将详细介绍include/exclude属性的使用方法和最佳实践。

include属性的作用

在TypeScript项目中,tsconfig.json文件的include属性是可选的,但在许多情况下添加它是有益的。它允许你指定TypeScript编译器应该包含哪些文件进行编译。如果不指定include属性,TypeScript编译器将默认包含项目根目录及其子目录中的所有.ts、.tsx和.d.ts文件。

使用include的场景

  1. 特定文件或目录:如果你想只编译项目中的特定文件或目录,可以使用include属性来指定这些文件或目录。

  2. 排除特定文件:虽然exclude属性通常用于排除不需要编译的文件,但有时将文件路径添加到include中更为简单明了。

  3. 性能优化:在大型项目中,限制编译器需要处理的文件可以优化编译时间。

完整配置示例

{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": [
"src/**/*" // 包含 src 目录及其所有子目录中的所有文件
],
"exclude": [
"node_modules", // 排除 node_modules 目录
"**/*.spec.ts", // 排除所有的测试文件
"dist" // 排除构建输出目录
]
}

注意事项

  • 如果同时指定了include和exclude,则exclude中的文件将从include指定的文件集合中排除。
  • 如果未指定include,则默认包含所有TypeScript文件(除了通过exclude排除的文件)。
  • include和exclude属性中的路径是相对于tsconfig.json文件所在的目录。
  • 使用通配符(如**/*)可以非常灵活地指定需要包含或排除的文件模式。

高级配置技巧

对于大型项目,可以使用references特性来分模块管理配置:

{
"files": [],
"references": [
{ "path": "./tsconfig.app.json" },
{ "path": "./tsconfig.tests.json" }
]
}

总结

合理配置tsconfig.json中的include/exclude属性,可以显著提升TypeScript项目的编译效率和开发体验。根据项目需求和结构,明确指定需要编译的文件范围,是现代TypeScript开发的重要实践。

© 2026 Leo Ji — Built with Astro