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)

相关推荐
焦糖小布丁20 分钟前
加http和https访问的网站不同?
前端
人工智能的苟富贵21 分钟前
用 Rust 写一个前端项目辅助工具:JSON 格式化器
前端·rust·json
季春二九1 小时前
Edge 卸载工具 | 版本号1.0 | 专为彻底卸载Microsoft Edge设计
前端·microsoft·edge·edge 卸载工具
雨过天晴而后无语1 小时前
HTML中JS监听输入框值的即时变化
前端·javascript·html
座山雕~1 小时前
html 和css基础常用的标签和样式(2)-css
前端·css·html
一勺菠萝丶1 小时前
为什么 HTTP 能访问,但 HTTPS 却打不开?——Nginx SSL 端口配置详解
前端
4Forsee1 小时前
【Android】消息机制
android·java·前端
不爱说话郭德纲1 小时前
UniappX不会运行到鸿蒙?超超超保姆级鸿蒙开发生成证书以及配置证书步骤
前端·uni-app·harmonyos
Olafur_zbj1 小时前
【IC】NoC设计入门 -- 网络接口NI Slave
前端·javascript·php
IT_陈寒1 小时前
React性能优化:10个90%开发者不知道的useEffect正确使用姿势
前端·人工智能·后端