VVLL.net

项目引用

日期:2024-08-22 09:58:31

项目引用 Project References

TypeScript 的项目引用(Project References)是一个强大的功能,允许一个 TypeScript 项目引用另一个 TypeScript 项目。这个功能非常适用于大型代码库和单体仓库(monorepos),它使得项目之间的依赖关系更明确,并且可以显著加快编译速度。

项目引用的核心概念

项目引用通过允许一个项目依赖于另一个项目,使得 TypeScript 编译器可以在编译时确保所有引用的项目都被正确编译。这不仅提高了编译效率,还改善了项目间的类型检查和代码导航。

配置项目引用

要使用项目引用,需要对 TypeScript 项目进行一些配置,主要包括 tsconfig.json 文件的设置。

步骤 1: 创建多个项目

假设我们有两个项目,coreappapp 项目依赖于 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