配置与工程实践
tsconfig 决定检查有多严、输出长什么样,以及如何与打包工具分工。
常用 compilerOptions
| 选项 | 建议 |
|---|---|
strict | 打开(见下一篇) |
target / lib | 按运行环境选 |
module / moduleResolution | 与运行时或打包器一致 |
noEmit | 若只让 tsc 做类型检查、由 Vite 等负责打包,可开 |
skipLibCheck | 大仓可开,跳过 .d.ts 全量检查以加速 |
isolatedModules | 与 esbuild/swc 等单文件转译友好 |
与打包工具协作
常见分工:
- 开发/打包:Vite、esbuild、swc 转译 TS(擦除类型),见 构建工具与 Vite
- CI / 编辑器:
tsc --noEmit做完整类型检查
不要假设「打包成功 = 类型正确」。
项目引用直觉
大型仓可用 Project References 拆多个 tsconfig,用 composite + references 增量构建。中小项目一个 tsconfig.json 足够。
要点
- 先对齐
module与解析策略 - 打包器转译 ≠
tsc类型检查 noEmit适合「检查与构建分离」- 项目引用按需上,不要过早拆