大型仓库如何利用项目引用隔离类型边界并提高增量构建效率
简答题困难641 次浏览
参考答案与解析
# 核心结论
大型仓库应把可独立构建、发布或部署的包划分为多个 TypeScript 项目,再用项目引用表达有向依赖图。每个编译单元只包含自己的源码,通过公开入口和声明产物向下游暴露类型,而不是让所有目录进入一个巨大的编译上下文。这样既能利用增量信息跳过未变化节点,也能阻止应用直接依赖其他包的内部实现。项目引用的首要收益是建立真实类型边界,构建提速是边界稳定后产生的结果。
# 底层机制
被引用项目通常需要开启 composite。该选项要求项目具有可预测的输入集合,并为构建模式保存足够的项目信息;作为下游依赖时,项目通常还要生成声明文件。引用方在 references 中列出直接依赖,随后由 `tsc –
