首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >pnpm >pnpm 的 monorepo 工作区(workspaces)功能如何使用?

pnpm 的 monorepo 工作区(workspaces)功能如何使用?

词条归属:pnpm

1. 工作区配置

pnpm 通过 pnpm-workspace.yaml 文件声明工作区范围,使用 glob 模式匹配子包目录。例如配置 packages: ['packages/*', 'apps/*'] 后,所有匹配目录中包含 package.json 的文件夹都会成为工作区成员。根目录的 package.json 可定义工作区级脚本和共享开发依赖。

2. 工作区协议与本地依赖

工作区内的包之间可通过 workspace: 协议相互依赖,如 "@myorg/utils": "workspace:*"。该协议确保开发期间始终使用本地工作区的最新版本,发布时自动替换为实际版本号。pnpm 还支持 workspace:^ 和 workspace:~ 等变体,用于指定兼容版本范围。

3. 过滤与批量操作

pnpm 的 --filter(简写 -F)参数提供强大的包筛选能力,支持按名称、路径、依赖关系和 Git 变更检测进行精准操作。常用语法包括:-F @scope/pkg 选中指定包,-F pkg... 选中包及其所有依赖,-F ...pkg 选中包及其所有依赖者,-F "...[origin/main]" 选中自指定分支以来有变更的包。配合 -r(recursive)参数可在所有工作区中批量执行命令,--parallel 可并行运行以加速构建和测试。

相关文章
Monorepo(单体仓库)与 MultiRepo(多仓库): Monorepo 单体仓库开发策略与实践指南
在软件开发中,代码仓库的管理方式对项目的效率和协作有着重要影响。常见的代码仓库管理方式主要有两种:Monorepo(单体仓库)和 MultiRepo(多仓库)。
Allen_z
2024-07-09
3.8K0
Monorepo(单体仓库)与MultiRepo(多仓库): Monorepo 单体仓库开发策略与实践指南
Monorepo——如同一棵枝繁叶茂的智慧之树,每个分支(项目或模块)紧紧依附于主干,共享着同一片沃土(基础配置)与养分供给(依赖库)👑
Allen_z
2024-06-14
1.6K0
突破项目瓶颈:2024 年 Monorepo 工具选择和实践
原文地址:https://juejin.cn/post/7342360674151858202
winty
2024-03-18
4.8K0
Vue3源码01 : 代码管理策略-monorepo
从定义中可以知道,monorepo是一种策略,该策略的具体内容是:多个项目存储在同一个代码仓库中。采用一种策略,肯定是因为该策略具备一些优点。当然,也要认清其缺点。从下面这张图中,我们可以看出,项目代码的组织策略是在实践中诞生,不断发展变化的。
杨艺韬
2022-09-27
1.9K0
基于 Yarn 的 Monorepo 实践
几年前工作中整过几个 SDK 仓库,当时 SDK 库逻辑还比较简单,工程设计也不复杂: ESLint+Prettier+GitHook Rollup 打包 npm 私有仓库搭建 随即发包复用就解决了。 随着时间的推移,SDK 库为了兼容各个端、完善开发体验实现各种配套的调试工具等等逐渐变得复杂,之前简单的工程能力要实现源码插件化、分包发布、定制化构建等等能力会比较痛苦: 简单目录隔离划分模块 手动多次更新目录 package.json 版本来发包 多个端代码复用一个 tsconfig.json,存在端限制(
用户1097444
2022-06-29
2.1K0
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券