跳转到内容

Monorepo

使用 pnpm 来管理

优势

  • 便于代码和依赖在多个项目之间的共享
  • 更方便简单的项目版本控制
  • 提高多项目的构建与部署便捷性
  • 提高代码的复用性和团队协作的便利性

搭建

  1. 创建项目目录并初始化package.json文件
bash
mkdir monorepo-root
cd monorepo-root
npm init -y
  1. 配置管理工作区

projects放项目,components放公共组件,commons放公共工具类

yaml
packages:
  - 'projects/*'
  - 'components/*'
  - 'commons/*'

依赖安装

  1. 安装根目录依赖
shell
# -w 根目录
pnpm add -w -D vite
  1. 到子项目中安装依赖
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

Will Try My Best.