代碼分割本身和 webpack 沒有什么關(guān)系,但是由于使用 webpack 可以非常輕松地實現(xiàn)代碼分割,所以提到代碼分割首先就會想到使用 webopack 實現(xiàn)。
成都創(chuàng)新互聯(lián)專注于四平企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),成都做商城網(wǎng)站。四平網(wǎng)站建設(shè)公司,為四平等地區(qū)提供建站服務(wù)。全流程按需求定制設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)在 webpack 中是使用 SplitChunksPlugin 來實現(xiàn)的,由于 SplitChunksPlugin
配置參數(shù)眾多,接下來就來梳理一下這些配置參數(shù)。
官網(wǎng)上的默認配置參數(shù)如下:
module.exports = { //... optimization: { splitChunks: { chunks: 'async', // 代碼分割時對異步代碼生效,all:所有代碼有效,inital:同步代碼有效 minSize: 30000, // 代碼分割最小的模塊大小,引入的模塊大于 30000B 才做代碼分割 maxSize: 0, // 代碼分割大的模塊大小,大于這個值要進行代碼分割,一般使用默認值 minChunks: 1, // 引入的次數(shù)大于等于1時才進行代碼分割 maxAsyncRequests: 6, // 大的異步請求數(shù)量,也就是同時加載的模塊大模塊數(shù)量 maxInitialRequests: 4, // 入口文件做代碼分割最多分成 4 個 js 文件 automaticNameDelimiter: '~', // 文件生成時的連接符 automaticNameMaxLength: 30, // 自動生成的文件名的大長度 cacheGroups: { vendors: { test: /[\\/]node_modules[\\/]/, // 位于node_modules中的模塊做代碼分割 priority: -10 // 根據(jù)優(yōu)先級決定打包到哪個組里,例如一個 node_modules 中的模塊進行代碼 }, // 分割,,既滿足 vendors,又滿足 default,那么根據(jù)優(yōu)先級會打包到 vendors 組中。 default: { // 沒有 test 表明所有的模塊都能進入 default 組,但是注意它的優(yōu)先級較低。 priority: -20, // 根據(jù)優(yōu)先級決定打包到哪個組里,打包到優(yōu)先級高的組里。 reuseExistingChunk: true // //如果一個模塊已經(jīng)被打包過了,那么再打包時就忽略這個上模塊 } } } } };
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。