中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么修改node_modules里的文件

發布時間:2021-10-29 20:27:18 來源:億速云 閱讀:261 作者:iii 欄目:web開發

本篇內容主要講解“怎么修改node_modules里的文件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么修改node_modules里的文件”吧!

webpack alias 的作用

webpack alias一般用來配置路徑別名,使我們可以少寫路徑代碼:

chainWebpack: config => {      config.resolve.alias        .set('@', resolve('src'))        .set('#', resolve('src/views/page1'))        .set('&', resolve('src/views/page2'));  },

也就是說,webpack alias會替換我們寫的“簡寫路徑”,并且它對node_modules里面的文件也是生效的。這時候我們可以將別人源碼里面引用模塊的路徑替換成我們自己的文件。

具體操作如下:

  1. 鴻蒙官方戰略合作共建——HarmonyOS技術社區

  2.  找到別人源碼里面的需要修改的模塊,復制代碼到src目錄

  3.  修改其中的bug,注意里面引用其他的文件都需要寫成絕對路徑

  4.  找到這個模塊被引入的路徑(我們需要攔截的路徑)

  5.  配置webpack alias

實際操作一下

以qiankun框架的patchers模塊為例:

怎么修改node_modules里的文件

文件被引用的路徑為:./patchers(我們要攔截的路徑)

怎么修改node_modules里的文件

文件內容為:

怎么修改node_modules里的文件

復制內容到src/assets/patchers.js,修改其 import 路徑為絕對路徑,并添加我們的代碼:

怎么修改node_modules里的文件

配置webpack alias(我用的是vue-cli4,配置文件是vue.config.js):

const path = require('path');  module.exports = {    chainWebpack: config => {      config.resolve.alias        .set('./patchers', path.resolve(__dirname, 'src/assets/patchers.js'))    } };

運行代碼,控制臺打印成功,表明我們已經成功覆蓋別人的代碼,而且別人的代碼有更新時,我們也可以同步更新,只是這個模塊的代碼使用我們自定義的。打包之后也是可以的。

怎么修改node_modules里的文件

補充:使用patch-package來修改

經掘友 @Leemagination 指點,使用patch-package來修改node_modules里面的文件更方便

步驟也很簡單:

  1. 鴻蒙官方戰略合作共建——HarmonyOS技術社區

  2.  安裝patch-package:npm i patch-package --save-dev

  3.  修改package.json,新增命令postinstall: 

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

    3.  修改node_modules里面的代碼

    4.  執行命令:npx patch-package qiankun。

第一次使用patch-package會在項目根目錄生成patches文件夾,里面有修改過的文件diff記錄。

怎么修改node_modules里的文件

當這個包版本更新后,執行命令:git apply --ignore-whitespace patches/qiankun+2.0.11.patch即可。其中qiankun+2.0.11.patch是它生成的文件名。

關于這個 loader 我已經發布到 npm 上,有興趣的朋友可以直接調用 npm install async-catch-loader -D 安裝和研究,使用方法和一般 loader 一樣,記得放在 babel-loader 后面,以便優先執行,將注入后的結果繼續交給 babel 轉義

{      test: /\.js$/,      use: [          "babel-loader?cacheDirectory=true",          'async-catch-loader'      ]  }

到此,相信大家對“怎么修改node_modules里的文件”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

开阳县| 奉新县| 二连浩特市| 班戈县| 汉源县| 桑植县| 栾川县| 阿巴嘎旗| 称多县| 仁怀市| 莒南县| 正宁县| 郑州市| 游戏| 淄博市| 沙雅县| 壶关县| 项城市| 冷水江市| 尖扎县| 张北县| 乌海市| 卫辉市| 茶陵县| 息烽县| 清镇市| 和平县| 高密市| 宜君县| 上林县| 广昌县| 乌审旗| 吴桥县| 攀枝花市| 古丈县| 东台市| 西宁市| 内黄县| 麦盖提县| 涡阳县| 保定市|