美文网首页
无星的前端之旅(十九)-临时修改npm库

无星的前端之旅(十九)-临时修改npm库

作者: 无星灬 | 来源:发表于2021-04-01 10:57 被阅读0次

    背景

    在开发过程中,偶尔会遇到一些问题,需要通过修改三方库才能解决。

    一般遇到这种情况,我们会采取以下方式解决:

    1.fork一份并修改,package.json指向fork的地址。

    2.写一个shell脚本,在拉完包后执行脚本替换。

    第一个方法太重了,并且在主库的更新合并上比较麻烦,需要手动去合并。

    第二个方法需要写shell脚本,投入产出比不高,还经常忘记执行。

    但自从发现了如下方法,临时修改npm包再也不是事了

    使用patch-packagepostinstall-postinstall

    1.集成

    yarn add patch-package postinstall-postinstall -D
    

    2.下载包

    yarn
    

    3.修改文件

    找到node_modules中需要修改的文件,直接修改它

    4.创建布丁

    修改完文件以后,执行如下命令,package-name是修改的包名

    npx patch-package package-name
    

    执行完毕以后,会在项目根目录下生成一个patches目录,目录中生成文件:package-name+version.patch

    该文件描述了修改内容

    5.每次拉包自动执行替换

    package.jsonscripts添加

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

    这样每次yarn或者npm install完成以后,都会依照补丁文件自动修正npm包内容。

    但是要注意,lock文件是需要加入版本管理的,因为布丁会指定具体版本

    相关文章

      网友评论

          本文标题:无星的前端之旅(十九)-临时修改npm库

          本文链接:https://www.haomeiwen.com/subject/aiibhltx.html