首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Cell的前端专栏

    如何给 npm 包打补丁?

    安装 patch-package npm i patch-package --save-dev 修改源码 在 node_modules 目录下找到需要打补丁的包,然后修改源码,比如我这里修改了 node_modules 生成补丁 npx patch-package @7polo/kityminder-core 此时在根目录下会得到如下文件: ├── patches │ └── @7polo-kityminder-core 使用补丁 在 package.json 中添加如下内容: { "scripts": { "postinstall": "patch-package" } } 提交补丁 git add

    71010编辑于 2023-10-19
  • 来自专栏神光的编程秘籍

    patch-package 实现原理:如何保存恢复 node_modules 下的代码改动?

    这时候可以用 patch-package 这个工具。 比如我对 node_modules 下的 acorn 代码做了一些修改: 加了一个 a.js 的文件: 在项目目录下执行 npx patch-package acorn 之后,就会生成这样一个目录: 这个 patches 目录是可以提交到 git 仓库的,然后再次把项目拉下来的时候,执行下 npx patch-package 就会应用这次改动。 patch-package 来应用改动。 patches 文件的应用则是 patch-package 自己实现了它的 parse,拿到对什么文件的哪些行做什么修改的信息,之后根据不同做类型做不同的文件操作就可以了。

    2.9K20编辑于 2022-11-11
  • 来自专栏各类技术文章~

    一个三方依赖产生的漏洞,差点让我丢了本月绩效!!!

    在经过搜索后 发现答案都指向了 patch-package 这个插件 patch-package 是什么? patch-package 可以理解为 为npm 插件 打一个补丁,这个补丁可以用于修改 node_modules 文件中的内容,且修复完成后 重新下载依赖不会被还原。 目前看很合适 就用它了 漏洞的解决 首先安装 patch-package npm i patch-package 复制代码 修改 node_modules 中需要修改的文件(一定要在三确认 慎重!! 需要注意的是 使用 npx(npm > 5.2) // 下面的 package-name 是指修改的包名 // yarn yarn patch-package package-name // npm npx patch-package package-name 复制代码 命令支持一些选项 执行完成会生成一个目录 存放补丁文件 默认在根目录下生成 patches 目录 补丁文件类似git 记录了

    2K30发布于 2021-11-04
  • 来自专栏若尘的技术专栏

    react-native修改包

    用法 修改package.json,添加最后一行: "postinstall": "patch-package",postinstall 是 npm 的钩子,会在依赖包被 install 之后被执行。 ", "postinstall": "patch-package" }, 之后安装patch-package这个库, npm i patch-package -D 或者 yarn add patch-package 配置、安装好了之后,我们就可以直接修改第三方包的内容了,修改完之后,运行: npx patch-package [package-name] 或者 yarn patch-package [package-name

    1.2K75编辑于 2021-12-06
  • 来自专栏若尘的技术专栏

    react-native修改第三方包

    用法 修改package.json,添加最后一行: "postinstall": "patch-package",postinstall 是 npm 的钩子,会在依赖包被 install 之后被执行。 ", "postinstall": "patch-package" }, 之后安装patch-package这个库, npm i patch-package -D 或者 yarn add patch-package 配置、安装好了之后,我们就可以直接修改第三方包的内容了,修改完之后,运行: npx patch-package [package-name] 或者 yarn patch-package [package-name

    1.3K55编辑于 2021-12-01
  • 来自专栏程序员成长指北

    如何做到修改node_module中的包,却不受重新安装的影响

    作为程序员的我们岂能被这事儿给难住,开源社区早已给我们准备好了解决方案:patch-package[1] 使用补丁 通过cra开启一个项目 npx create-react-app my-app cd my-app npm start 给项目@alifd/next(ui库)、patch-package、postinstall-postinstall(使用yarn安装时需要安装,npm无需安装此依赖) package-name yarn patch-package @alifd/next 成功后你会看到根目录多了一个patches文件夹,里面包含了你修改的npm包的patch文件。 patch-package 6.4.7 Applying patches... 参考资料 [1]https://github.com/ds300/patch-package: https://link.juejin.cn?

    2.5K10发布于 2021-12-01
  • 来自专栏程序员成长指北

    如何科学修改 node_modules 里的文件

    补充:使用patch-package来修改 经掘友 @Leemagination 指点,使用patch-package来修改node_modules里面的文件更方便 步骤也很简单: 安装patch-package :npm i patch-package --save-dev 修改package.json,新增命令postinstall: "scripts": { + "postinstall": "patch-package " } 修改node_modules里面的代码 执行命令:npx patch-package qiankun。 第一次使用patch-package会在项目根目录生成patches文件夹,里面有修改过的文件diff记录。 ?

    1.8K20发布于 2020-08-27
  • 来自专栏Nodejs技术栈

    如何科学修改 node_modules 里的文件

    补充:使用patch-package来修改 经掘友 @Leemagination 指点,使用patch-package来修改node_modules里面的文件更方便 步骤也很简单: 安装patch-package :npm i patch-package --save-dev 修改package.json,新增命令postinstall: "scripts": { + "postinstall": "patch-package " } 修改node_modules里面的代码 执行命令:npx patch-package qiankun。 第一次使用patch-package会在项目根目录生成patches文件夹,里面有修改过的文件diff记录。 ?

    2K10发布于 2021-03-16
  • 来自专栏johnhuster

    This happened because the patch file patches@geoman-io+leaflet-geoman-free+2.11.4.patch could not be

    [INFO] [INFO] If you just upgraded patch-package, you can try running: [INFO] [INFO] cd patches@geoman-io +leaflet-geoman-free+2.11.4.patc [INFO] patch -p1 -i h [INFO] npx patch-package @geoman-io/leaflet-geoman-free INFO] If the problem persists, please submit a bug report: [INFO] [INFO] https://github.com/ds300/patch-package ui-ngx\patches目录下的geoman-io+leaflet-geoman-free+2.11.4.patch文件后就可以正常编译了 参考文章: 1、https://github.com/ds300/patch-package

    60010编辑于 2022-03-29
  • 来自专栏Vue开发社区

    如何修改 node_modules 里的文件

    补充:使用patch-package来修改 经掘友 @Leemagination 指点,使用patch-package来修改node_modules里面的文件更方便 步骤也很简单: 安装patch-package :npm i patch-package --save-dev 修改package.json,新增命令postinstall: "scripts": { + "postinstall": "patch-package " } 修改node_modules里面的代码 执行命令:npx patch-package qiankun。 第一次使用patch-package会在项目根目录生成patches文件夹,里面有修改过的文件diff记录。

    1.5K30发布于 2020-06-01
  • 来自专栏前端Q

    面试官:如果一个NPM包部分功能不满足需求,如何修改其部分功能~

    git diff > patches/third-party-package.patch 应用补丁:为了自动化地在每次安装依赖时应用这个补丁,你可以使用如 patch-package 这样的工具。 patch-package 允许在 node_modules 中的包上应用补丁,并且这些补丁可以和你的项目代码一起被版本控制。 首先,安装 patch-package: npm install patch-package postinstall-postinstall --save-dev 然后,将应用补丁的步骤添加到 package.json 生成补丁 使用 patch-package 生成一个补丁文件。这个命令会比较你对 node_modules 中 axios 的修改,并将这些修改保存为一个补丁文件。 npx patch-package axios 执行这个命令后,patch-package 会在项目的根目录下创建一个 patches 目录(如果还没有的话),并在里面生成一个名为 axios+版本号

    82410编辑于 2024-07-31
  • 来自专栏前端二次元

    预构建 如何玩转秒级依赖预构建的能力?

    好在,我们可以使用patch-package这个库来解决这类问题。一方面,它能记录第三方库代码的改动,另一方面也能将改动同步到团队每个成员。 patch-package 官方只支持 npm 和 yarn,而不支持 pnpm,不过社区中已经提供了支持pnpm的版本,这里我们来安装一下相应的包:pnpm i @milahu/patch-package ,随后我们在package.json的scripts中增加如下内容:{ "scripts": { // 省略其它 script "postinstall": "patch-package" 最后,我们讨论了一类特殊情况,即第三方包出现了问题该怎么办,分别给你介绍了两个解决思路: 通过patch-package修改库代码和编写 Esbuild 插件修改模块加载的内容。 最后,我们讨论了一类特殊情况,即第三方包出现了问题该怎么办,分别给你介绍了两个解决思路: 通过patch-package修改库代码和编写 Esbuild 插件修改模块加载的内容。

    1.3K90编辑于 2023-11-09
  • 来自专栏前端食堂

    前端食堂技术周刊第 63 期:Vite 4.0、State of CSS 2022、Rome v11、Web 性能日历

    ,在构建时使用 esbuild,开发时用 SWC 替换 Babel 现代浏览器的构建目标默认为 safari14 升级 dotenv 16、dotenv-expand 9 CLI 快捷键 预构建支持 patch-package vitejs.dev/blog/announcing-vite4.html [3] Rollup 3: https://github.com/rollup/rollup/releases/tag/v3.0.0 [4] patch-package : https://github.com/ds300/patch-package [5] State of CSS 2022 调查结果: https://2022.stateofcss.com/ [6]

    78930编辑于 2023-01-08
  • 来自专栏flytam之深入前端技术栈

    从一个webpack打包bug到探索resolve背后的机制

    这时候可以通过patch-package方式来解决node_modules带来的问题 package.json添加"postinstall": "patch-package" npm i -D patch-package 直接到node_modules/tsconfig-paths-webpack-plugin/lib/plugin.js对应位置修改为正确的代码 执行npx patch-package tsconfig-paths-webpack-plugin

    1.2K20发布于 2021-11-04
  • 来自专栏code秘密花园

    在字节某项目中落地 Bundleless,我经历了什么?

    另一种是通过 patch-package 记录 node_modules 更改记录,生成 patches 目录,然后通过项目的 post-install 脚本在团队中同步这个更改。 安装 yarn add patch-package postinstall-postinstall // 2. 修改 node_modules 代码后执行: yarn patch-package react-virtualized // 3. package.json 中 scripts 增加: { "postinstall ": "patch-package" } 预构建反复执行 如果刚才这点问题只是小打小闹,那接下来的 bug 简直就是究极折磨。

    1.5K20发布于 2021-09-29
  • 来自专栏某菜鸟の小屋

    【Bug周刊】Vol.1

    nmOrdsI4N9KebGi.png" alt="">

    这是测试文本
    </body> </html> patch-package 果断在插件内全局替换iview.min.js、iview.css和vue.min.js的链接为字节的静态资源库加速,丝滑访问,为了避免每次npm install后又要重新替换,引入了patch-package 需要注意,在执行 npx patch-package vuepress-plugin-posts-encrypt(修改包的名字)前需要修改源码,执行命令后可能会等待一段时间才会显示出对应的patch文件

40610编辑于 2024-03-08
  • 来自专栏世界尽头与冷酷仙境

    使用 QueryBuilder 构造复杂的数据筛选语句

    patch-package 可能是最好的方式,patch-package 可以在修改完 node_modules 文件之后,根据当前库的版本生成一份补丁,在其他人 npm install 之后,执行一下 patch-package 就可以应用到修改后的代码,非常方便和安全。

    8.3K90编辑于 2021-12-01
  • 来自专栏前端三元同学

    在字节某中后台项目中落地 Bundleless,我经历了什么?

    另一种是通过 patch-package 记录 node_modules 更改记录,生成 patches 目录,然后通过项目的 post-install 脚本在团队中同步这个更改。 安装 yarn add patch-package postinstall-postinstall // 2. 修改 node_modules 代码后执行: yarn patch-package react-virtualized // 3. package.json 中 scripts 增加: { "postinstall ": "patch-package" } 预构建反复执行 如果刚才这点问题只是小打小闹,那接下来的 bug 简直就是究极折磨。

    1.1K00发布于 2021-09-17
  • 来自专栏神光的编程秘籍

    为什么说 90% 的前端不会调试 Ant Design 源码?

    这个也不是问题,可以执行下 npx patch-package antd,会生成这样一个 patch 文件: patch 文件里记录了你对 antd 包的改动,这个可以上传到 git 仓库,其他小伙伴拉下来再执行 npx patch-package 就会自动应用这些改动。

    1.5K20编辑于 2022-11-11
  • 来自专栏HelloGitHub

    《HelloGitHub》第 87 期

    地址:https://github.com/Kujiale-Mobile/Painter 20、patch-package:给 npm 依赖项打补丁的库。 地址:https://github.com/ds300/patch-package Kotlin 项目 21、legado:一款免费的安卓小说阅读器。

    73330编辑于 2023-08-19
  • 领券