配置与编译
使用 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 文档 | 编译时要包含在输出文件中的核心库 |