# pnpm-monorepo-vue **Repository Path**: salad2017/pnpm-monorepo ## Basic Information - **Project Name**: pnpm-monorepo-vue - **Description**: 利用 PNPM 构建的单仓库管理多个应用案例 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-10 - **Last Updated**: 2025-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 项目简介 - Monorepo(pnpm workspaces)管理: - apps:`web-a`、`web-b`、`web-c`(Vite + Vue 3 + TS),可选 `web-c`(Farm) - packages:`shared`(工具库)、`ui`(组件库) - 依赖放置: - 应用内:`vue`、`vite`、`@vitejs/plugin-vue`、`vue-tsc` 等 - 包内:`ui` 把 `vue` 声明为 peerDependencies - 根目录:只放工程化工具(如 `turbo`、`eslint`、`prettier` 等) ### 运行与打包 - 前置 - 安装依赖(根目录执行):`pnpm install` - Node ≥ 18,pnpm ≥ 9 - 开发(单应用) - `web-a`:`pnpm -C apps/web-a dev`(默认 5173) - `web-b`:`pnpm -C apps/web-b dev`(默认 5174) - (可选)`web-c`(Farm):`pnpm -C apps/webc dev` - 构建(单应用) - `web-a`:`pnpm -C apps/web-a build` - `web-b`:`pnpm -C apps/web-b build` - (可选)`web-c`(Farm):`pnpm -C apps/webc build` - 预览(Vite 应用) - `web-a`:`pnpm -C apps/web-a preview` - `web-b`:`pnpm -C apps/web-b preview` - 并行编排(可选,根安装了 turbo 且有 turbo.json) - 并发开发:`pnpm turbo:dev` - 并发构建:`pnpm turbo:build` - 仅某个应用:`pnpm turbo run build --filter=web-a` - 类型检查 - 根聚合(如配置了 references):`pnpm typecheck` - 或单应用:`pnpm -C apps/web-a exec vue-tsc -b` ### 常见提示 - 修改 `packages/shared` / `packages/ui` 后,如解析异常:确认包名与导入名一致、`package.json` 有 `exports` 指向入口(如 `./src/index.ts`),再 `pnpm install`。 - 根安装工具需显式:`pnpm add -D -w`(避免 ERR_PNPM_ADDING_TO_ROOT)。 - Turbo 2.x 配置字段为 `tasks`(不是 `pipeline`)。