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)

相关推荐
曼巴UE516 小时前
UE FString, FName ,FText 三者转换,再次学习,官方文档理解
服务器·前端·javascript
行走的陀螺仪17 小时前
高级前端 Input 公共组件设计方案(Vue3 + TypeScript)
前端·javascript·typescript·vue·组件设计方案
一颗不甘坠落的流星17 小时前
【Antd】基于 Upload 组件,导入Json文件并转换为Json数据
前端·javascript·json
LYFlied17 小时前
Vue2 与 Vue3 虚拟DOM更新原理深度解析
前端·javascript·vue.js·虚拟dom
Lucky_Turtle17 小时前
【Node】npm install报错npm error Cannot read properties of null (reading ‘matches‘)
前端·npm·node.js
小飞侠在吗18 小时前
vue shallowRef 与 shallowReacitive
前端·javascript·vue.js
惜分飞18 小时前
sql server 事务日志备份异常恢复案例---惜分飞
前端·数据库·php
GISer_Jing19 小时前
WebGL实例化渲染:性能提升策略
前端·javascript·webgl
烟锁池塘柳019 小时前
【技术栈-前端】告别“转圈圈”:详解前端性能优化之“乐观 UI” (Optimistic UI)
前端·ui