关键词:TS 配置项
tsconfig.json
是 TypeScript 项目的配置文件,它指定了用于编译该项目的根文件及编译器选项。以下是一些重要的配置项和它们的作用:
compilerOptions
这部分包含了一系列用来告诉 TypeScript 编译器如何编译代码的标志。
target
: 设置编译后的 JavaScript 目标版本,比如"ES5"
、"ES6"
等。module
: 指定生成的代码所使用的模块系统,如"CommonJS"
、"AMD"
、"System"
、"UMD"
、"ES6"
、"ES2015"
等。lib
: 指定编译过程中需要包含的库文件的列表,如["dom", "es6"]
等。outDir
: 指定输出目录,编译后的文件将放在这个目录下。outFile
: 将所有文件输出到一个文件中,仅在module
为"system"
或"amd"
时有效。rootDir
: 指定输入文件的根目录,用于控制输出目录结构。allowJs
: 允许编译.js
文件,让 TypeScript 和 JavaScript 代码可以共存。checkJs
: 允许在.js
文件中报告错误。jsx
: 在.tsx
文件中支持 JSX,例如:"react"、"preserve"等。declaration
: 生成相应的.d.ts
文件。sourceMap
: 生成相应的.map
文件,用于调试。strict
: 启用所有严格类型检查选项。noImplicitAny
: 不允许具有隐式any
类型的表达式和声明。strictNullChecks
: 在严格的null
检查模式下,null
和undefined
值不包含在任何类型里,只允许用作它们各自的类型使用。esModuleInterop
: 通过为所有导入创建命名空间对象,实现 CommonJS 和 ES 模块之间的互操作性。
files
、include
和exclude
这三个配置项控制 TypeScript 编译器应该编译哪些文件:
files
: 指定一个确切的文件列表,只有这些文件会被编译。include
: 指定一个匹配模式列表,编译器会编译匹配上的文件。exclude
: 指定一个匹配模式列表以排除某些文件。
示例tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"strict": true,
"jsx": "react",
"outDir": "./dist",
"esModuleInterop": true,
"sourceMap": true,
"allowJs": true,
"skipLibCheck": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "**/*.spec.ts"]
}
这只是tsconfig.json
中常用配置项的概览。根据项目的不同需求,可能会有更多的配置项需要了解和调整。通过适当配置tsconfig.json
文件,可以有效控制 TypeScript 项目的编译过程。