如何编辑yarn安装的node module,避免定制修改在重新执行yarn时丢失
针对node_modules依赖修改持久化的操作方案
方案1:使用patch-package(少量修改最优选择)
专门用于持久化node_modules下的依赖包定制修改,补丁仅对当前项目生效,不会污染官方原始包。
操作步骤:
- 安装patch-package相关开发依赖:
yarn add patch-package postinstall-postinstall --dev - 确认你已经完成对node_modules/flowpoints的源码修改后,执行补丁生成命令:
yarn patch-package flowpoints - 命令执行完成后,项目根目录会生成
patches文件夹,内附flowpoints的补丁文件,将该文件夹提交到项目代码仓库。 - 在项目package.json的scripts字段中添加自动打补丁钩子:
"scripts": { "postinstall": "patch-package" }
完成以上配置后,每次执行yarn安装依赖完成后会自动打上你定制的补丁,修改不会丢失。
方案2:Fork官方包独立维护(适合大修改场景)
如果你后续对flowpoints的定制修改会持续增加,可以选择fork官方仓库自行维护:
- Fork flowpoints的官方仓库到你的代码托管平台
- 将你已做的定制修改提交到你fork后的仓库对应分支
- 移除项目原有的flowpoints依赖,重新安装指向你fork的仓库:
yarn add <你的fork仓库地址>#<对应分支名>
后续官方包有更新时,你可以自行拉取官方更新合并到你的fork仓库即可。
方案3:本地内置依赖(无需额外工具/托管)
你也可以将修改完成的flowpoints包整体复制到项目本地目录(比如新建./vendor/flowpoints存放),然后修改package.json中的依赖指向本地路径:
"dependencies": { "flowpoints": "file:./vendor/flowpoints" }
该方案无需额外工具,缺点是官方包更新时需要手动同步本地内置的包代码,维护成本较高。
内容的提问来源于stack exchange,提问作者sssss
相关产品推荐
相关产品推荐

