# 项目配置
# tsconfig.json
通过 tsconfig.json 配置 tsc 的编译规则,可采用 tsc --init 创建配置文件。
# 配置文件查找规则
TypeScript 基于如下机制查找配置文件
- 默认查找机制
- 搜索当前目录是否包含
tsconfig.json - 若没有则逐级向上层目录查找
- 搜索当前目录是否包含
- 指定配置目录
- 若设置了
--project,-p则根据指定的路径查找配置文件tsconfig.json或合法的.json配置文件。
- 若设置了
注意指定了配置目录后,默认查找机制会失效
# 配置选项
TypeScript 提供了大量的配置项用于设定 tsc 的编译规则。
详见 配置项 (opens new window)
常用配置如下
| 配置项 | 功能 |
|---|---|
outDir | 设置编译结果的输出目录,默认为 ts 文件相同路径,注意设置只改编译的输出目录,之前的文件的相对目录关系还存在 |
target | 设置 内建类型申明 支持的定义,例如设置 ES5 时,使用 ES6 方法会报错 |
lib | 相比 target 更细粒度的控制 Typescript 支持哪些类型定义 |
# 命令行参数
也可通过命令行参数配置 tsc 的行为,示例命令如下
# 编译当前目录下所有文件
tsc
# 只编译特定文件
tsc index.ts
# 编译特定目录下文件
tsc src/*.js
# 传入指定配置编译文件
tsc --project tsconfig.json src/*.ts
详细的命令行参数参见 Compiler Options (opens new window)
常用配置如下表
| 配置名 | 功能 | 使用场景 |
|---|---|---|
--allowJs | 允许编译 js 文件 | |
--checkJs | 检查 js 文件 | 结合 allowJs 配置利用 TypeScript 默认推导功能实现对 js 的检查 |
declaration,-d | 创建申明文件 | 当仓库采用 TypeScript 编写时,基于此配置生成申明文件 |
--init | 创建 tsconfig.json | 初始化配置文件时 |
# declaration 和 allowjs
declaration allowjs (opens new window)
# incremental
采用 incremental 优化编译 https://www.typescriptlang.org/docs/handbook/release-notes/overview.html#--incremental-improvements
# --strictNullChecks (opens new window)
避免值为 null 或 undefined
# outFile
控制输出目录
# 编译优化
# 项目索引
基于项目索引改善 TypeScript 的编译性能,详见 Project Reference (opens new window)
# extends
extends (opens new window) 支持去 node_modules 中查找属性
# showConfig
利用此配置调试 ts 的配置文件,详见 showConfig (opens new window)
# 项目开发
# glob 模式
# typesVersions
实现版本管理 typesVersions (opens new window)
# 集成构建工具
除了使用默认的 tsc 也可采用第三方构建工具编译 TypeScript。
详细资料参见 集成构建 (opens new window)
# TODO
支持注释: https://www.typescriptlang.org/v2/docs/handbook/release-notes/overview.html#allow-comments-in-tsconfigjson
# compilerOptions
编译选项配置。
types设置包含什么包, 解决例如 node 缺少 process 的问题,参考 Cannot find name 'process'. (opens new window)