patch-package - npmFix broken node modules with no fuss. Latest version: 6.4.7, last published: a year ago. Start using patch-package in your project by running `npm i patch-package`. There are 372 other projects in the npm registry using patch-package.https://www.npmjs.com/package/patch-package


目录

一. 使用场景

二. 使用方法

2.1 修改 package.json

2.2 安装 patch-package

2.3 修改 node_modules 中的依赖

2.4 生成 .patch 文件 记录差异

2.5 提交 patch 文件夹,实现团队共享


一. 使用场景

cordova-plugin-file-opener2 源码中,含有不支持 Android10 以上的内容

因此,每次重装依赖后,我都需要手动进行以下修改:

android.support.v4.content.FileProvider

👇  👇  👇  👇  👇  👇  👇  👇  👇 

androidx.core.content.FileProvider

为了解决重复的 CV 工作,我发现了这个神奇的 npm 依赖 “创可贴” —— patch-package

二. 使用方法

2.1 修改 package.json

 "scripts": {
   "postinstall": "patch-package"
 }

2.2 安装 patch-package

安装要求:npm(>=5) or yarn

可以使用下面两种方法安装,个人推荐 yarn

  • npm i patch-package
  • yarn add patch-package postinstall-postinstall  【个人推荐】

2.3 修改 node_modules 中的依赖

就像我在使用场景中提到的,安装完所需依赖后,我们开始对 依赖源码 进行修改

2.4 生成 .patch 文件 记录差异

完成 node_modules 的修改后,执行以下命令:

  • yarn patch-package package-name  【个人推荐】
  • npx patch-package package-name  【npm > 5.2】

其中 package-name 与更改的包的名称匹配,以 使用场景 为例:

  • yarn patch-package cordova-plugin-file-opener2
  • npx patch-package cordova-plugin-file-opener2

项目第一次使用 patch-package 时,会在根目录中创建一个名为 patch 的文件夹

里面有一个名为 package-name+0.44.0.patch 的文件或其他文件,用于记录修改差异

2.5 提交 patch 文件夹,实现团队共享

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐