SplitChunksPlugin怎么在webpack4中使用?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
尤溪網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,尤溪網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為尤溪上1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的尤溪做網(wǎng)站的公司定做!
參數(shù):
chunks: 表示顯示塊的范圍,有三個可選值:initial
(初始塊)、async
(按需加載塊)、all
(全部塊),默認(rèn)為all
;
minSize: 表示在壓縮前的最小模塊大小,默認(rèn)為0;
minChunks: 表示被引用次數(shù),默認(rèn)為1;
maxAsyncRequests: 最大的按需(異步)加載次數(shù),默認(rèn)為1;
maxInitialRequests: 最大的初始化加載次數(shù),默認(rèn)為1;
name: 拆分出來塊的名字(Chunk Names),默認(rèn)由塊名和hash值自動生成;
cacheGroups: 緩存組。
對于緩存組是一個對象,處了可以有上面的chunks
、minSize
、minChunks
、maxAsyncRequests
、maxInitialRequests
、name
外,還有其他的一些參數(shù):
如果不在緩存組中重新賦值,緩存組默認(rèn)繼承上面的選項(xiàng),但是還有一些參數(shù)是必須在緩存組進(jìn)行配置的。
priority: 表示緩存的優(yōu)先級;
test: 緩存組的規(guī)則,表示符合條件的的放入當(dāng)前緩存組,值可以是function
、boolean
、string
、RegExp
,默認(rèn)為空;
reuseExistingChunk: 表示可以使用已經(jīng)存在的塊,即如果滿足條件的塊已經(jīng)存在就使用已有的,不再創(chuàng)建一個新的塊。
1. 基本使用
首先,在新版本的webpack會默認(rèn)對代碼進(jìn)行拆分,拆分的規(guī)則是:
模塊被重復(fù)引用或者來自node_modules
中的模塊
在壓縮前最小為30kb
在按需加載時,請求數(shù)量小于等于5
在初始化加載時,請求數(shù)量小于等于3
小于30kb的模塊不值得再單獨(dú)發(fā)送一次請求,在很小的模塊的前提下,相比與多次打包,減少請求次數(shù)成本要低。
當(dāng)然也可以不使用默認(rèn)的配置,比如這樣:
new webpack.optimize.SplitChunksPlugin({ chunks: "all", minSize: 20000, minChunks: 1, maxAsyncRequests: 5, maxInitialRequests: 3, name: true )}
上面的代碼就表示,在所有代碼中,引用模塊大小最小為20kb,引用次數(shù)最少為1次,按需加載最大請求次數(shù)為5,初始化加載最大請求次數(shù)為3的所有模塊就行拆分到一個單獨(dú)的代碼塊中,name
表示代碼的名字,設(shè)置為true
則表示根據(jù)模塊和緩存組秘鑰自動生成。
2. 使用緩存組(Cache Groups)
如果想繼續(xù)細(xì)分代碼,可以使用緩存組(Cache Groups)。同樣的,緩存組也有默認(rèn)的配置;緩存組默認(rèn)將node_modules
中的模塊拆分帶一個叫做vendors
的代碼塊中,將最少重復(fù)引用兩次的模塊放入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 } } }
上面是緩存組的默認(rèn)配置,可以通過default:false
禁用默認(rèn)的緩存組,然后就可以自定義緩存組,將初始化加載時被重復(fù)引用的模塊進(jìn)行拆分,就像這樣:
cacheGroups: { commons: { name: "commons", chunks: "initial", minChunks: 2 } }
之后就隨心所欲,可以根據(jù)具體的需求,創(chuàng)建多個緩存組:
cacheGroups: { a: { // ... }, b: { // ... } // ... }
關(guān)于SplitChunksPlugin怎么在webpack4中使用問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。
新聞標(biāo)題:SplitChunksPlugin怎么在webpack4中使用
URL鏈接:http://aaarwkj.com/article0/gjdpoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)、定制開發(fā)、移動網(wǎng)站建設(shè)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)