编程随笔 编程随笔
  • 前端
  • 后端
  • 星球项目
  • 开源项目
  • 海康AGV
  • 四向车
  • 工具类
  • 项目仓库

    • 部署仓库 (opens new window)
    • 代码仓库 (opens new window)
  • vuepress插件

    • 自动生成导航栏与侧边栏 (opens new window)
    • 评论系统 (opens new window)
    • 全文搜索 (opens new window)
    • 选项卡 (opens new window)
    • 自动生成sitemap (opens new window)
  • 自主开发插件

    • 批量操作frontmatter (opens new window)
    • 链接美化 (opens new window)
    • 折叠代码块 (opens new window)
    • 复制代码块 (opens new window)

liyao52033

走运时,要想到倒霉,不要得意得过了头;倒霉时,要想到走运,不必垂头丧气。心态始终保持平衡,情绪始终保持稳定,此亦长寿之道
  • 前端
  • 后端
  • 星球项目
  • 开源项目
  • 海康AGV
  • 四向车
  • 工具类
  • 项目仓库

    • 部署仓库 (opens new window)
    • 代码仓库 (opens new window)
  • vuepress插件

    • 自动生成导航栏与侧边栏 (opens new window)
    • 评论系统 (opens new window)
    • 全文搜索 (opens new window)
    • 选项卡 (opens new window)
    • 自动生成sitemap (opens new window)
  • 自主开发插件

    • 批量操作frontmatter (opens new window)
    • 链接美化 (opens new window)
    • 折叠代码块 (opens new window)
    • 复制代码块 (opens new window)
  • 知识点

    • npm 和 yarn
    • 登录后重定向到原先路由
    • patch-package使用
      • 安装
      • 创建补丁
      • 更新补丁
      • 打补丁
      • 部署
    • TortosseGit的ssh配置
    • nginx常用配置
    • mounted阶段获取不到dom的原因及解决方法
  • 代码调试

  • vue2

  • vue3

  • react

  • typescript

  • 前端
  • 知识点
华总
2023-08-31
0
0
目录

patch-package使用原创

提示

使用 patch-package 修改第三方模块,及时解决第三方依赖包的 bug

# 安装

yarn add --dev patch-package postinstall-postinstall
1
npm install patch-package --save-dev
1

# 创建补丁

直接在项目根目录下的 node_modules 文件夹中找到要修改依赖包的相关文件,然后回到根目录执行

yarn patch-package package-name
1
npx patch-package package-name
1

package-name 就是要修改的依赖包名 执行完成后,会在项目根目录的 patches 目录中创建补丁文件 package-name+0.44.0.patch(0.44.0 是依赖包版本),这个补丁需要提交到代码仓库中

# options

  • --use-yarn patch-package 默认是根据项目中的 lockfile 来决定使用 npm 还是 yarn,如果两种都有,则使用 npm,可以通过这个参数启用 yarn
  • --exclude <regexp> 创建补丁文件时,忽略与正则表达式匹配的路径,路径相对于要修改的依赖包的根目录,默认: package\\.json$
  • --include <regexp> 与 --exclude <regexp> 相反,创建补丁文件时仅考虑与正则表达式匹配的路径,默认: .*
  • --case-sensitive-path-filtering 使 --include 或 --exclude 中使用的正则表达式区分大小写
  • --patch-dir 指定放置补丁文件的目录

# 嵌套模块

支持修改依赖包的依赖包,比如 node_modules/package/node_modules/another-package,通过 / 分隔

npx patch-package package/another-package

# scoped packages
npx patch-package @my/package/@my/other-package
1
2
3
4

# 更新补丁

与创建补丁过程一样

# 打补丁

不带参数执行 npx patch-package 或者 yarn patch-package 应用所有补丁

# options

  • --reverse 撤回所有补丁 Note: 如果打补丁后,补丁文件被修改过,此操作将失败,此时可以重新安装 node_modules
  • --patch-dir 指定补丁文件所在目录

# 部署

在 package.json 的 scripts 中加入 "postinstall": "patch-package",后续执行 npm install 或 yarn install 命令时,会自动为依赖包打补丁了

#前端
上次更新: 2024/01/14 16:27:31
登录后重定向到原先路由
TortosseGit的ssh配置

← 登录后重定向到原先路由 TortosseGit的ssh配置→

最近更新
01
element-plus多文件手动上传 原创
11-03
02
TrueLicense 创建及安装证书 原创
10-25
03
手动修改迅捷配置 原创
09-03
04
安装 acme.sh 原创
08-29
05
zabbix部署 原创
08-20
更多文章>
Copyright © 2023-2024 liyao52033
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式