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)

相关推荐
im_AMBER21 小时前
React 16
前端·笔记·学习·react.js·前端框架
02苏_21 小时前
ES6模板字符串
前端·ecmascript·es6
excel21 小时前
⚙️ 一次性警告机制的实现:warnOnce 源码深度解析
前端
excel21 小时前
Vue SFC 样式编译核心机制详解:compileStyle 与 PostCSS 管线设计
前端
excel21 小时前
🧩 使用 Babel + MagicString 实现动态重写 export default 的通用方案
前端
excel21 小时前
Vue SFC 编译器主导出文件解析:模块组织与设计哲学
前端
excel21 小时前
深度解析:Vue SFC 模板编译器核心实现 (compileTemplate)
前端
excel21 小时前
Vue SFC 解析器源码深度解析:从结构设计到源码映射
前端
excel21 小时前
Vue SFC 编译全景总结:从源文件到运行时组件的完整链路
前端
excel21 小时前
Vue SFC 编译核心解析(第 5 篇)——AST 遍历与声明解析:walkDeclaration 系列函数详解
前端