使用pnpm构建一个最简单的Monorepo方式管理的demo

277 阅读1分钟

使用pnpm构建一个最简单的Monorepo方式管理的demo

第一步

创建一个项目,例如就叫monorepo-demo:

mkdir monorepo-demo

image-20230112173040518

第二步、

初始化我们的项目

pnpm init

image-20230112181038533

第三步,创建pnpm-workspace.yaml文件,这个文件定义了工作空间的根目录,内容如下:

packages:

'packages/ **'

image-20230112182540351

第四步:创建子项目

创建Components、test两个子项目,每个子项目的终端都执行一下pnpm init 指令

image-20230116094455104

第五步:在两个子项目安装相关依赖

我们在components项目中安装lodash,我们可以指定到该目录进行安装,pnpm -F <指定目录>

pnpm -F components add lodash

image-20230116115705700

我们这里直接暴露出去一个拼接后的Hellopnpm字符串,后面哪个子项目需要用到我们可以拿到该字符串

在test项目中引入components,

pnpm -F test add components

image-20230116110155506

最后来验证一下,是不是真的成功了,我们在test子项目使用一下components的依赖

image-20230116110612160

我们node运行一下test项目下的index.js文件

这里使用node需要在test、componetns的package.json里加一个字段:"type": "module",

image-20230116111308243

可以看到运行成功!