编译策略与构建工具集成
约 220 字小于 1 分钟
布欧-Lewyon
2026-05-16
首页 › TypeScript › 工程化 › 编译策略与构建工具集成
编译策略:类型检查 vs 构建分离
# 方案一:tsc 编译(小型项目)
tsc
# 方案二:tsc 仅类型检查 + 构建工具转译(推荐)
tsc --noEmit # 仅类型检查
vite build # 构建(esbuild 转译 TS)Vite 集成
// vite.config.ts
import { defineConfig } from 'vite';
export default defineConfig({
// Vite 原生支持 TS,无需额外配置
// 类型检查推荐用 vue-tsc / tsc --noEmit
});npm create vite@latest -- --template vanilla-ts项目引用(Monorepo)
// packages/shared/tsconfig.json
{
"compilerOptions": {
"composite": true,
"declaration": true,
"outDir": "./dist",
"rootDir": "./src"
},
"include": ["src"]
}
// apps/web/tsconfig.json
{
"compilerOptions": {
"paths": {
"@shared/*": ["../../packages/shared/src/*"]
}
},
"references": [
{ "path": "../../packages/shared" }
]
}小结
| 策略 | 场景 |
|---|---|
tsc 全量编译 | 小型纯 TS 项目 |
tsc --noEmit + Vite | 中型以上项目(推荐) |
| project references | Monorepo 多个 TS 包 |
declaration: true | 库项目必须生成 .d.ts |
