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)

相关推荐
low神5 分钟前
React Native实现推送通知
前端·javascript·react native·react.js·前端面试题
等什么君!6 分钟前
复习HTML(基础)
前端·html
Engss6 分钟前
taro RN 左右滑动切换页面
前端·javascript·react.js·taro
MarisolHu36 分钟前
前端学习笔记-JS进阶篇-01
前端·javascript·笔记·学习
被迫学习Java2 小时前
前端工程化17-邂逅原生的ajax、跨域、JSONP
前端·ajax·okhttp
Justinc.3 小时前
CSS基础
前端·css
qq_427506084 小时前
前端项目npm install报错解决的解决办法
前端·npm·node.js
CiL#7 小时前
css动态边框
前端·css
风清云淡_A7 小时前
uniapp中检测应用更新的两种方式-升级中心之uni-upgrade-center-app
前端·uni-app