如何修改 node-modules 包源码

542 阅读1分钟

方法一:修改源码后提MR,让作者合并更新版本

此方法流程较长,着急的话等不及作者合并

  1. 将仓库 fork 到自己的 github 中
  2. 将项目 clone 到本地
  3. 修改源码
  4. push 到自己的远端仓库git push
  5. 向 fork 的源仓库提交MR
  6. 等待管理员员合并并发布到 npm 上
  7. 更新 package.json中对应的版本号
  8. 重新 yarn

方法二:下载源码修改后放在自己的仓库,修改 package.json 文件引入路径

  1. 将仓库 fork 到自己的 github 中
  2. 将项目 clone 到本地
  3. 修改源码
  4. push 到自己的远端仓库
  5. 更新 package.json中包对应的地址
 "dependencies": {
    "@tarojs/components": "git+http://xx.com/taro-components.git",
  }
  1. 重新 yarn

方法三:使用 patch-package

  1. 安装 patch-package
 npm i patch-package -S
  1. 修改package.json 文件如下
"scripts": {
+  "postinstall": "patch-package"
}
  1. 在 node_modules 里面修改依赖包的代码
  2. 每次修改代码之后执行命令
npx patch-package @tarojs/router
  1. 第一次使用 patch-package 会在项目根目录生成 patches 文件夹,里面有修改过的文件diff记录

  1. 其他人拉项目,下载一下新包就会把修改过的文件写在他们本地的 node-modules 中

参考文档:

xiangming.vip/2019/09/19/…

juejin.cn/post/694990…

github.com/ds300/patch…