项目引用 Project References
TypeScript 的项目引用(Project References)是一个强大的功能,允许一个 TypeScript 项目引用另一个 TypeScript 项目。这个功能非常适用于大型代码库和单体仓库(monorepos),它使得项目之间的依赖关系更明确,并且可以显著加快编译速度。
项目引用的核心概念
项目引用通过允许一个项目依赖于另一个项目,使得 TypeScript 编译器可以在编译时确保所有引用的项目都被正确编译。这不仅提高了编译效率,还改善了项目间的类型检查和代码导航。
配置项目引用
要使用项目引用,需要对 TypeScript 项目进行一些配置,主要包括 tsconfig.json
文件的设置。
步骤 1: 创建多个项目
假设我们有两个项目,core
和 app
。app
项目依赖于 core
项目。
/my-monorepo
/core
src/
index.ts
tsconfig.json
/app
src/
main.ts
tsconfig.json
tsconfig.json
步骤 2: 配置 core
项目的 tsconfig.json
首先,我们需要配置 core
项目的 tsconfig.json
:
{
"compilerOptions": {
"composite": true, // 必须启用
"declaration": true,
"declarationMap": true