pnpm构建单一代码仓库

monorepo

在项目的日常使用中,有时候由于多项目互相依赖,如果有功能频繁更新,这时候如果频繁更新版本对开发不太友好,所以在开发组件库等项目时,就需要引入monorepo的概念。
通过workspace将多个工程维护在一个代码仓库中,只需要及时更新代码就可以很好的进行多项目开发。

为什么使用pnpm

pnpm原生支持monorepo,所以在开发时可以直接使用pnpm,不需要配置任何配置文件。
pnpm节约空间,安装速度快。

pnpm配置

首先工程中需要一个pnpm的配置文件,touch .npmrc

shamefully-hoist=true

package.json中配置包管理工具以及workspace

{
packageManager: "pnpm@7.5.0",
workspaces: [
"packages/*",
"play",
"docs"
]
}

对应的建立packagesplaydocs文件夹,在相应的目录中进行初始化,pnpm init。工作区的package.json需要配置name@o-ui/play@o-ui/docs

pnpm常用命令

pnpm install typescript -w # 将依赖安装到工程的根目录下
pnpm install typescript -wD # 将依赖安装到工程的根目录devDependencies下
pnpm add axios --filter @o-ui/play # 为指定的工作区安装依赖,此时用到之前配置的工作区package名称

文章作者: Furo Yang
文章链接: http://furoteam.cn/2022/08/01/pnpm构建单一代码仓库/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 furoのBlog