pnpm在monorepo架构下不能引用其他模块的问题

一、研究背景

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

引用效果如下图所示

三、参考文献

一文吃透 pnpm 如何使用 workspace 构建 monorepo,与 npm、yarn 的用法对比(pnpm 9.x 内部安装依赖问题 link-workspace-packages) | kshao-blog - 前端知识记录 (ksh7.com)

相关推荐
java_nnnn8 小时前
JavaEE进阶-HTML基础认识
前端·java-ee·html
鬼手点金8 小时前
Claude Code示范案例-常用快捷命令
java·服务器·前端·计算机视觉·前向传播
CopyCode9 小时前
我排查了一下午,发现项目打包体积翻倍的元凶是它
前端·性能优化
u0111026759 小时前
Vue 3 实现图片裁剪框:拖动、缩放与固定宽高比
前端·javascript·vue.js
汉堡大王95279 小时前
一张图三句需求,我用 Trae Work 做了一块能看日出日落和月相的天文机械表
前端·后端·github
小小善后师10 小时前
用 Canvas + AI 实现登录页的 Logo 粒子动画
前端·vue.js
Amos_Web10 小时前
Rspack 源码解析(十六):多类型资源如何进入 Compilation.assets
前端·rust·前端框架
GAMC10 小时前
chrome-devtools-mcp:让 AI 编码助手真正"看见"浏览器
前端·人工智能
deli00710 小时前
高尔顿板:把球一颗颗丢下去,为什么最后总堆成一座钟形山
前端
java_nnnn10 小时前
JavaEE进阶-CSS初识
java·前端·css·java-ee·html