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

溫馨提示×

溫馨提示×

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

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

SplitChunksPlugin怎么在webpack4中使用

發布時間:2021-03-26 17:38:08 來源:億速云 閱讀:153 作者:Leah 欄目:web開發

SplitChunksPlugin怎么在webpack4中使用?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

參數:

  1. chunks: 表示顯示塊的范圍,有三個可選值:initial(初始塊)、async(按需加載塊)、all(全部塊),默認為all;

  2. minSize: 表示在壓縮前的最小模塊大小,默認為0;

  3. minChunks: 表示被引用次數,默認為1;

  4. maxAsyncRequests: 最大的按需(異步)加載次數,默認為1;

  5. maxInitialRequests: 最大的初始化加載次數,默認為1;

  6. name: 拆分出來塊的名字(Chunk Names),默認由塊名和hash值自動生成;

  7. cacheGroups: 緩存組。

對于緩存組是一個對象,處了可以有上面的chunksminSizeminChunksmaxAsyncRequestsmaxInitialRequestsname外,還有其他的一些參數:

如果不在緩存組中重新賦值,緩存組默認繼承上面的選項,但是還有一些參數是必須在緩存組進行配置的。

  1. priority: 表示緩存的優先級;

  2. test: 緩存組的規則,表示符合條件的的放入當前緩存組,值可以是functionbooleanstringRegExp,默認為空;

  3. reuseExistingChunk: 表示可以使用已經存在的塊,即如果滿足條件的塊已經存在就使用已有的,不再創建一個新的塊。

1. 基本使用

首先,在新版本的webpack會默認對代碼進行拆分,拆分的規則是:

  1. 模塊被重復引用或者來自node_modules中的模塊

  2. 在壓縮前最小為30kb

  3. 在按需加載時,請求數量小于等于5

  4. 在初始化加載時,請求數量小于等于3

小于30kb的模塊不值得再單獨發送一次請求,在很小的模塊的前提下,相比與多次打包,減少請求次數成本要低。

當然也可以不使用默認的配置,比如這樣:

new webpack.optimize.SplitChunksPlugin({
  chunks: "all",
  minSize: 20000,
  minChunks: 1,
  maxAsyncRequests: 5,
  maxInitialRequests: 3,
  name: true
)}

上面的代碼就表示,在所有代碼中,引用模塊大小最小為20kb,引用次數最少為1次,按需加載最大請求次數為5,初始化加載最大請求次數為3的所有模塊就行拆分到一個單獨的代碼塊中,name表示代碼的名字,設置為true則表示根據模塊和緩存組秘鑰自動生成。

2. 使用緩存組(Cache Groups)

如果想繼續細分代碼,可以使用緩存組(Cache Groups)。同樣的,緩存組也有默認的配置;緩存組默認將node_modules中的模塊拆分帶一個叫做vendors的代碼塊中,將最少重復引用兩次的模塊放入default中。

這是一段官方里面的代碼:

splitChunks: {
  chunks: "async",
  minSize: 30000,
  minChunks: 1,
  maxAsyncRequests: 5,
  maxInitialRequests: 3,
  name: true,
  cacheGroups: {
    default: {
      minChunks: 2,
      priority: -20
      reuseExistingChunk: true,
    },
    vendors: {
      test: /[\\/]node_modules[\\/]/,
      priority: -10
    }
  }
}

上面是緩存組的默認配置,可以通過default:false禁用默認的緩存組,然后就可以自定義緩存組,將初始化加載時被重復引用的模塊進行拆分,就像這樣:

cacheGroups: {
  commons: {
    name: "commons",
    chunks: "initial",
    minChunks: 2
  }
}

之后就隨心所欲,可以根據具體的需求,創建多個緩存組:

cacheGroups: {
  a: {
    // ...
  },
  b: {
    // ...
  }
  // ...
}

關于SplitChunksPlugin怎么在webpack4中使用問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

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

AI

巨鹿县| 桐庐县| 无锡市| 翁源县| 桃园县| 宜君县| 佛冈县| 郎溪县| 太谷县| 阿勒泰市| 瓮安县| 桂东县| 黑山县| 平山县| 广州市| 阜平县| 溧水县| 电白县| 曲靖市| 新竹市| 黎城县| 江山市| 资源县| 永顺县| 永善县| 桂林市| 宜章县| 开封市| 桐乡市| 大洼县| 麟游县| 红原县| 福建省| 交口县| 潞西市| 望城县| 怀来县| 都江堰市| 威海市| 滦平县| 梁山县|