SuperAPI AI 工具集

monorepo-structure

编程与开发

查看项目

更新于 10-15 20:30

技能介绍

用途:在同一个仓库中管理多个包,让前端、后端与后台 worker 共享 TypeScript 类型和工具函数,并实现原子提交与并行构建。

主要能力:pnpm workspaces 管理多包;Turborepo 负责构建编排、缓存与并行化;共享 types 包作为类型唯一来源;通过 dependsOn: ["^build"] 保证依赖先于使用方构建。

结构:apps/ 下放 web、api、worker;packages/ 下放 types、utils、config;根目录含 package.json、pnpm-workspace.yaml、turbo.json、tsconfig.base.json。

用法:pnpm-workspace.yaml 声明 apps/* 与 packages/;根 package.json 脚本用 turbo dev/build/test/lint/typecheck/clean;内部依赖使用 workspace:,如 "@myapp/types": "workspace:"。常用命令:pnpm install、pnpm dev、pnpm build、pnpm test、pnpm add zod --filter @myapp/types、pnpm add -D prettier -w、pnpm --filter @myapp/web dev、pnpm --filter "@myapp/" build。

适用场景:前后端共享代码、多应用需要公共类型/工具、希望跨包原子提交、需要带缓存的并行构建。

限制与注意:内部依赖不要用 ^1.0.0 而应用 workspace:*;不要逐个构建包而应使用 turbo build;避免包之间循环依赖;.gitignore 需包含 dist/;turbo.json 中不要遗漏 dependsOn: ["^build"]。具体版本与配置以资料为准,其他细节暂未提供。