js:使用patch-package修改node_modules的文件并加入版本控制
2023-09-27 14:27:09 时间
背景
我们日常开发中会遇到 npm 包有问题,通常的修复方法有两种
1、提交 PR 或 issue,等待作者修改
2、copy 源码到本地修改
然鹅,两种方法都不太科学,弊端太明显,那么使用 patch-package 是如何修改的。
patch-package
1、安装
yarn add patch-package -D
2、在 node_modules 找一个包修改源码,如图这里我找的 lodash 的 cloneDeep.js 文件,增加一行代码
3、生成补丁
npx patch-package <包名>
npx patch-package lodash
4、到这个一步我们已经可以把这个提交到 git 仓库了,那么别人拉下来代码怎么变成最新的代码呢?
npx patch-package
// 或
// package.json
"scripts": {
"patch": "patch-package"
}
执行
npm run patch
执行后会发现,加的那个 console 就出来了
注意事项
1、patch 是锁定版本号的,如果升级了版本,patch 内容将会失效,最好在 package.json 能够锁定版本号。
2、魔改一时爽,但是也失去了升级的能力,提 issue 和 PR 才是正途。
参考资料
相关文章
- mongodb执行js结果输出文件
- js文件下载blob
- WScript中调用js方法
- vue.js:插槽的基本使用
- QRCode.js:使用 JavaScript 生成微信二维码
- 前端通过js获取微信公众号用户的唯一标识符openId
- 上传文件是常要处理的事情,使用ajaxFileUpload.js处理比较方便,这里的ajaxFileUpload.js文件修改过的,
- 正则表达式专题(JS版)之2、正则表达式字符匹配攻略
- js 根据url 下载图片 前端js 实现文件下载
- 客户端文件下载 download.js
- TouchPoint.js – 可视化展示 HTML 原型点击效果
- JS下载文件常用的方式
- 构建工具是如何用 node 操作 html/js/css/md 文件的
- Next-- css in js
- 【小程序从0到1】宿主环境|WXML|WXSS|JS逻辑交互
- JS组件系列——又一款MVVM组件:Vue(二:构建自己的Vue组件)
- Extjs学习----------动态载入js文件(减轻浏览器的压力)
- cocos2d js 如何加载cocos studio 2.0导出的csb文件
- 说说如何用js实现一个模板引擎
- Dropzone.js实现文件拖拽上传
- js给json对象添加、删除、修改属性
- pdf.js 怎么预览 base64 类型的 pdf 文件
- [转]js实现网页图片延时加载的原理和代码 提高网站打开速度
- Eclipse 打开js文件时出现 Could not open the editor...
- js输入款字母数字正则
- Vue引入远程JS文件