【实践功能记录9】使用pnpm打补丁

对依赖包进行修改,有两种方式
方式一 :patch-package
方式二pnpm patch

记录工作中使用pnpm patch
1.创建补丁:
pnpm patch <package-name><package-version>

使用pnpm patch命令创建一个可编辑的副本,可以在这个目录中自由编辑软件包的代码
2.编辑代码:

根据提示的路径,打开对应的临时目录,对软件包的代码进行必要的修改
3.提交补丁:

修改完成后,使用pnpm patch-commit <path>命令生成补丁文件,并将其注册到项目的 package.json文件中的 patchedDependencies字段
4.应用补丁:

在以后的安装过程中,pnpm 会自动应用这些补丁,无需额外配置。补丁文件默认保存在项目根目录下的 patches 目录中,而 package.json 会更新以包含补丁信息
5.注意事项:

● 如果想要改变包的依赖项,不要使用补丁来修改包的 package.json 文件。要覆盖依赖项,使用 overrides 或软件包钩子。

● 如果在使用 Windows 并且使用 git-bash 的话,文件路径要使用两个 \ 分割,例如:
pnpm patch-commit C:\\Users\\AppData\\Temp\\482a1b2c5aaad6b4abb4d39bab8ef39c\\user

● 如果在打补丁过程中遇到问题,比如"Building isolated workspace app fails when patching",可以在pnpm 配置中添加 allowNonAppliedPatches: true 来允许未应用的补丁。

bash 复制代码
// 创建临时目录,修改代码
pnpm patch element-plus@2.3.1
// 提交补丁
pnpm patch-commit <file-patch>

生成的临时目录,找到需要修改的组件进行修改,如下图:

修改成功:

打包完成会根目录会生成 patches文件夹,生成补丁文件,如下图:

同时package.json中也增加了配置,如下图:

版本不一致可能会导致失败,pnpm self-update 更新到最新的稳定版本

相关推荐
WeilinerL14 分钟前
泛前端代码覆盖率探索之路
前端·javascript·测试
浮游本尊17 分钟前
React 18.x 学习计划 - 第五天:React状态管理
前端·学习·react.js
-睡到自然醒~22 分钟前
[go 面试] 前端请求到后端API的中间件流程解析
前端·中间件·面试
洛卡卡了31 分钟前
Sentry 都不想接,这锅还让我背?这xx工作我不要了!
前端·架构
咖啡の猫34 分钟前
Vue 实例生命周期
前端·vue.js·okhttp
JNU freshman1 小时前
vue 之 import 的语法
前端·javascript·vue.js
剑亦未配妥1 小时前
Vue 2 响应式系统常见问题与解决方案(包含_demo以下划线开头命名的变量导致响应式丢失问题)
前端·javascript·vue.js
凉柚ˇ1 小时前
Vue图片压缩方案
前端·javascript·vue.js
慧一居士1 小时前
vue 中 directive 作用,使用场景和使用示例
前端
慧一居士1 小时前
vue 中 file-saver 功能介绍,使用场景,使用示例
前端