站長資訊網
        最全最豐富的資訊網站

        node_modules中如何優雅的修改依賴庫?方法介紹

        node項目中如何優雅的修改node_modules的依賴庫?下面本篇文章就來帶大家優雅修改node_modules中依賴庫的方法,希望對大家有所幫助!

        node_modules中如何優雅的修改依賴庫?方法介紹

        最近使用了公司內的一個開源項目,由于業務需要(不適合提MR的業務修改),需要簡單的修改 @tencent/wuji-server-lite的源碼,package.json如下:

        "dependencies": {        "@tencent/taf-config": "^2.0.4",       "@tencent/wuji-server-lite": "2.0.30",        "patch-package": "^6.2.0"   }

        一般我們有兩種做法:

        • 方法一:把修改后的代碼換個名字重新打個包提交到tnpm,然后直接引用這個新包

        • 方法二:把代碼copy移出node_modules作為本地依賴

        無論是上面哪種辦法,作為有代碼潔癖的人來說,都覺得很別扭,我就改了某一個文件了一兩行代碼,卻要如此臃腫的copy整個項目,更要命的是最后可能都忘了自己修改了哪里,沒有diff可供追溯。

        我當時就咨詢了幾個nodejs-er,在我沒使用nodejs的這一兩年時間內,nodejs是不是已經提供了什么高大上的方法解決了這個問題,比如可以指定node_modules中的某個文件被本地的另外一個替換?得到的答案是 no。

        頓時我就萌生出了要自己弄一個解決這類問題的npm包,然后又按常例的事先google了一番,結果卻發現已經存在了這么一個東東,叫patch-package(https://www.npmjs.com/package/patch-package),一看發布時間是兩年前,如果我沒中途去做吃雞手游,也許這個庫最先可能是被我弄出來的,哈哈。

        既然不需要我再造一個輪子了,那接下來我就分享下怎么使用吧。

        1、本地安裝,npm i patch-package

        2、在package.json 的scripts中加入 { "postinstall": "patch-package" },這是npm的一個鉤子,會在依賴包被install之后執行

        3、修改node_modules中的代碼

        4、生成patches,npx patch-package your-package-name

        5、提交patches后,重新install包你就會發現是你修改后的結果

        node_modules中如何優雅的修改依賴庫?方法介紹

        最后,這個庫的官網還有一段很詳細的對比,描述了什么時候用patch什么時候fork,描述的非常到位:

        node_modules中如何優雅的修改依賴庫?方法介紹

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久久精品无码专区不卡| 亚洲处破女AV日韩精品| 亚洲精品无码成人AAA片| 99热都是精品久久久久久| 亚洲国产另类久久久精品| 国产美女精品视频| 久久99精品国产99久久6男男| 四虎成人精品永久免费AV| 麻豆精品国产自产在线观看一区| 一区二区三区精品| 国产精品99精品无码视亚| 亚洲精品高清一二区久久| 国产亚洲美女精品久久久| 久久精品无码一区二区三区| 国产精品无码午夜福利| 无码国产精品一区二区免费vr | 亚洲综合国产精品第一页 | 国产高清在线精品一本大道国产 | 色婷婷在线精品国自产拍| 欧美精品国产一区二区三区| 国产美女精品视频| 国产精品igao视频| 91精品免费久久久久久久久| 久久精品一区二区国产| 精品亚洲欧美高清不卡高清| 99re6在线视频精品免费| 精品熟女少妇av免费久久| 亚洲国产精品特色大片观看完整版 | 精品日韩亚洲AV无码| 久久久久女人精品毛片| 久久99国内精品自在现线| 无码精品国产VA在线观看DVD| 亚洲国产第一站精品蜜芽| 亚洲精品蜜桃久久久久久| 亚洲精品国产首次亮相| 久久精品中文闷骚内射| 国产午夜精品无码| 成人区人妻精品一区二区不卡网站| 国产精品三级在线观看无码 | 亚洲国产精品乱码一区二区| 亚洲AV第一页国产精品|