一、前期准备:
1. 准备node环境(推荐nvm方式管理node版本);
2.安装pnpm(pnpm 通过创新存储模型解决了 npm/yarn 的磁盘冗余、依赖污染等核心痛点,尤其适合 Monorepo 项目、低存储环境及高稳定性要求的场景。若项目无特殊兼容需求,pnpm 是当前最优解。);
npm i pnpm -g
二、创建项目:
1.使用pnpm初始化项目:
pnpm init
2.创建pnpm-workspace.yaml文件
该文件用于在 Monorepo 项目中统一管理多个子包间的依赖关系和构建流程。是pnpm 工作区(Workspace)核心配置文件
-
- 创建方式:
1.手动创建
-
- 作用:
1.定义工作区范围
packages: - "packages/**" # 递归匹配所有嵌套子包 - "apps/*" # 匹配 apps 一级目录下的子包 - "demo" # 单独指定 demo 目录
子包需要满足:
-
-
- 包含独立的
package.json
且声明name
字段 - 目录路径匹配配置文件中的规则
- 包含独立的
-
2.实现跨包依赖共享
3.统一依赖管理:根目录运行 pnpm install
可一次性安装所有子包依赖,并自动处理内部链接
项目地址:https://gitee.com/cheng_zhen_guo/blog_demo_monorepo/tree/master