配置与编译
使用 TypeScript 编写的代码需要编译为 JavaScript 代码才能够在浏览器或者 Node.js 中使用。TypeScript 代码的编译通常使用 TypeScript 提供的 tsc 编译命令来完成。tsc 命令通常使用 tsconfig.json 文件来完成配置,该文件一般放置在项目根目录下。
tsconfig.json 文件中主要通过以下字段来定义 tsc 命令的默认配置。
compilerOptions,编译配置,具体内容可参考 TypeScript 文档,React 项目创建时该部分内容已经预置无需修改。files,配置需要编译的文件。includes,使用通配符规则配置需要编译的文件。excludes,使用通配符规则配置需要排除的文件。compileOnSave,当被监视文件保存时编译项目。
其中 compilerOptions 中常用的配置项有以下这些。
| 配置项 | 可取值 | 功能 |
|---|---|---|
module | None, CommonJS, AMD, System, UMD, ES6, ES2015, ESNext | 使用哪种模块模式 |
moduleResolution | Node, Classic | 指定如何查找模块 |
noImplicityAny | true, false | 禁止隐式使用 any 类型 |
strictNullChecks | true, false | 强制检查空值 |
alwaysStrict | true, false | 使用使用严格模式 |
experimentalDecorators | true, false | 使用修饰器功能支持 |
removeComments | true, false | 编译时移除注释 |
resolveJsonModule | true, false | 允许将 JSON 文件作为独立模块导入 |
sourceMap | true, false | 指示是否生成代码地图 |
typeRoots | 字符串列表 | 列举库的声明文件所在目录 |
types | 字符串列表 | 列举要包含的库声明文件 |
jsx | react, react-native, preserve | 对 JSX 文件的解析方式 |
outDir | 字符串 | 编译输出文件的存放位置 |
rootDir | 字符串 | 编译输入文件的存放位置 |
rootDirs | 字符串列表 | 编译输入文件的存放位置 |
baseUrl | 字符串 | 设定项目根路径 |
path | 对象 | 设定模块引入路径转换映射 |
target | ES3, ES5, ES6, ES2015, ES2017, ES2018, ES2019, ES2020, ESNext | 编译输出的 JavaScript 目标版本 |
lib | 字符串列表,具体见 TypeScript 文档 | 编译时要包含在输出文件中的核心库 |