一、研究背景
monorepo架构项目目录结构:
bash
- common
- index.ts
- ...
- main
- index.ts
- ...
- web
- vue-demo
- ...
pnpm在monorepo架构下使用以下命令
bash
pnpm -F main add common
# or
pnpm --filter main add common
并不能在main/index.ts中使用common/index.ts模块下封装好的axios,一直从远程下载common模块。
二、解决方法
后来参考了这篇文章才知道,pnpm版本在 9.0 之后 pnpm,修改了
的默认值为 false。我们需要开启该属性,在安装依赖时优先在本地链接,而不是从 registry(远程) 中下载。
在根目录新建.npmrc并配置以下内容:
bash
link-workspace-packages=true
再执行以下命令即可
bash
pnpm -F main add common
# or
pnpm --filter main add common
引用效果如下图所示