Typescript 【详解】配置文件 tsconfig.json

发布时间:2026/7/27 18:25:54
Typescript 【详解】配置文件 tsconfig.json 用于控制 TypeScript 编译器如何将 .ts 文件编译为 .js 文件可以使用命令生成npx tsc --init{compilerOptions:{target:ES6,module:commonjs,strict:true},include:[src/**/*.ts],exclude:[node_modules]}include指定需要被 TypeScript 编译器处理的文件或目录exclude指定不需要被 TypeScript 编译器处理的文件或目录compilerOptions配置 TypeScript 编译器的行为比如指定编译目标版本、模块系统、是否开启严格模式等。compilerOptionsbaseUrl// 配置基础目录用于解析非相对模块路径baseUrl:./,paths// 配置路径别名用于导入模块paths:{/*:[src/*],components/*:[src/components/*],~img/*:[src/assets/images/*],#types/*:[src/types/*]}target指定编译后的 JavaScript 版本常见的值有 ES3、ES5、ES6或 ES2015、ES2016 等版本越低兼容性越强常用 ES5lib指定编译过程中需要包含的库文件比如 ES5、DOM、ESNext 等。如果你使用了 Promise 等 ES6 的特性可能需要包含 ES2015.Promise。lib:[ES2015.Promise,DOM]module指定生成的模块系统常见的值有 commonjs、amd、esnext 等。如果你的项目是 Node.js 项目通常使用 commonjs现代项目常用 ESNext。moduleResolution指定模块解析策略可选值有 node 和 classic一般使用 node。strict推荐 true值为 true 或 false 开启所有严格类型检查选项包括 noImplicitAny、strictNullChecks 等建议开启以提高代码的健壮性。noImplicitAny值为 true 或 false 不允许隐式的 any 类型即所有变量和函数参数都必须明确指定类型。strictNullChecks值为 true 或 false 开启严格的空值检查避免使用可能为 null 或 undefined 的值而不进行检查。outDir指定编译后的文件输出目录。rootDir指定编译文件的根目录编译器会根据这个目录来确定输出文件的目录结构。declaration推荐 true值为 true 或 false 指定 TypeScript 编译器在编译过程中是否生成对应的类型声明文件.d.ts 文件extends如果你有多个 TypeScript 项目并且希望共享一些通用的配置可以使用 extends 字段。它允许你继承另一个 tsconfig.json 文件的配置。extends:./base-tsconfig.json,files指定需要编译的具体文件列表它和 include 的区别在于files 是指定具体的文件路径而 include 是使用 glob 模式匹配文件。files:[src/main.ts,src/utils.ts]其他相关知识tsconfig.node.json 文件是项目在 node 环境中运行的 Typescript 配置文件实战范例{compilerOptions:{target:ES6,module:commonjs,lib:[ES2015,DOM],strict:true,esModuleInterop:true,skipLibCheck:true,forceConsistentCasingInFileNames:true,outDir:./dist,rootDir:./src},include:[src/**/*.ts],exclude:[node_modules]}