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)

相关推荐
海石1 小时前
微信小程序开发01:XR-FRAME的快速上手
前端·增强现实·trae
叶梅树4 小时前
DocsJS npmjs 自动化发布复盘(Trusted Publisher)
前端·npm
我命由我123454 小时前
Element Plus - Form 的 resetField 方法观察记录
开发语言·前端·javascript·vue.js·html·html5·js
清空mega4 小时前
《Vue3 项目结构详解:components、views、assets、router、stores 到底该怎么理解?》
前端·javascript·vue.js
雨雨雨雨雨别下啦5 小时前
Vue——小白也能学!Day6
前端·javascript·vue.js
XPoet5 小时前
AI 编程工程化:Hook——AI 每次操作前后的自动检查站
前端·后端·ai编程
難釋懷6 小时前
RedisTemplate配置读写分离
前端·bootstrap·html
冰暮流星6 小时前
javascript如何实现删除数组里面的重复元素
开发语言·前端·javascript
网络点点滴7 小时前
透传属性$attrs
前端·javascript·vue.js
90后的晨仔7 小时前
OpenClaw macOS 完整安装指南
前端