创建Monorepo多项目管理

从零到一搭建 PNPM Monorepo 项目(Vue + NestJS)

本文教你快速搭建标准企业级 Monorepo ,一条命令启动前后端,依赖统一管理,Windows/Mac 通用。

参考文档:https://juejin.cn/post/7454035377106599963

一、项目最终结构

复制代码
project-monorepo/
├── package.json
├── pnpm-workspace.yaml
├── node_modules/
└── packages/
    ├── web/       # Vue 前端
    └── server/    # Nest 后端

二、完整搭建步骤

1. 创建根目录并初始化

bash 复制代码
mkdir project-monorepo
cd project-monorepo
pnpm init

2. 配置 Monorepo 工作区

新建 pnpm-workspace.yaml

yaml 复制代码
packages:
  - "packages/*"

3. 创建项目目录

bash 复制代码
mkdir packages

4. 创建 Vue 项目

bash 复制代码
pnpm create vite packages/web --template vue

5. 创建 NestJS 项目

bash 复制代码
cd packages
nest new server --no-git --package-manager pnpm
cd ..

6. 清理子项目依赖(必须执行)

bash 复制代码
rd /s /q packages\web\node_modules
rd /s /q packages\server\node_modules
del packages\web\pnpm-lock.yaml
del packages\server\pnpm-lock.yaml

7. 根目录统一安装依赖

bash 复制代码
pnpm install

8. 安装并发启动工具

bash 复制代码
pnpm add concurrently -D

三、脚本配置

根目录 package.json

json 复制代码
{
  "name": "monorepo-project",
  "version": "1.0.0",
  "private": true,
  "scripts": {
    "dev": "concurrently \"pnpm dev:web\" \"pnpm dev:server\"",
    "dev:web": "pnpm --filter web dev",
    "dev:server": "pnpm --filter server start:dev",
    "build": "pnpm build:web && pnpm build:server",
    "build:web": "pnpm --filter web build",
    "build:server": "pnpm --filter server build"
  }
}

Nest 关闭清屏(packages/server/package.json)

json 复制代码
"start:dev": "nest start --watch --preserveWatchOutput"

四、常用命令

bash 复制代码
pnpm i          # 安装所有依赖
pnpm dev        # 同时启动前后端
pnpm build      # 同时打包前后端

五、核心要点

  1. 子项目安装依赖 :进入对应目录执行 pnpm add xxx
  2. 根目录只放工具依赖pnpm add xxx -D
  3. --filter:指定子项目执行命令
  4. concurrently:跨平台多命令并行
  5. --preserveWatchOutput:关闭 Nest 清屏
相关推荐
We་ct20 天前
前端包管理工具与Monorepo全面解析
前端·javascript·npm·pnpm·yarn·monorepo·包管理
木斯佳1 个月前
前端八股文面经大全:腾讯前端一面(2026-04-04)·深度解析
前端·ai·鉴权·monorepo
蜡台1 个月前
Monorepo 架构管理多个子项目实现
前端·javascript·vue.js·pnpm·monorepo
SuperEugene2 个月前
Monorepo + pnpm workspace 落地实操:Vue 中后台多项目 / 组件库 / 公共包管理|Vue 工程化篇
前端·javascript·vue.js·pnpm·vite·monorepo
怒放的生命19914 个月前
pnpm + Monorepo 使用教程(集成 Vue 3 项目)
前端·vue.js·pnpm·monorepo·前端工程化
weixin79893765432...4 个月前
Monorepo 单仓库管理
monorepo·单仓库管理
lkbhua莱克瓦245 个月前
项目知识——Monorepo(单体仓库)架构详解
架构·github·项目·monorepo
奋飛6 个月前
Monorepo系列:Pnpm Workspace 搭建 Monorepo
pnpm·monorepo·pnpm workspace·catalogs·pnpm filter