主题
Monorepo
使用 pnpm 来管理
优势
- 便于代码和依赖在多个项目之间的共享
- 更方便简单的项目版本控制
- 提高多项目的构建与部署便捷性
- 提高代码的复用性和团队协作的便利性
搭建
- 创建项目目录并初始化package.json文件
bash
mkdir monorepo-root
cd monorepo-root
npm init -y- 配置管理工作区
projects放项目,components放公共组件,commons放公共工具类
yaml
packages:
- 'projects/*'
- 'components/*'
- 'commons/*'依赖安装
- 安装根目录依赖
shell
# -w 根目录
pnpm add -w -D vite- 到子项目中安装依赖
shell
# 进入到项目1终端执行,@monorepo/utils是子项目package.json的name
pnpm add @monorepo/utils --workspace子包里引用其他包
json
{
"name": "@monorepo/vue2_template",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build"
},
"dependencies": {
"@monorepo/components_vue2": "workspace:^",
"@monorepo/utils": "workspace:^",
"@monorepo/vue2_template": "file:"
}
}启动子项目
shell
pnpm run --filter @monorepo/project-1 dev