欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

webpack4 optimization使用總結(jié)

 更新時(shí)間:2019年11月10日 09:46:48   作者:buzzzzz  
這篇文章主要介紹了webpack4 optimization使用總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

optimization總結(jié)

minimize

默認(rèn)為true,效果就是壓縮js代碼。

minimizer

可以自定義UglifyJsPlugin和一些配置,默認(rèn)的壓縮為uglifyjs-webpack-plugin

//比如在構(gòu)建的時(shí)候,希望新增css的壓縮
minimizer:
 mode === "development"
  ? []
  : [
    new UglifyJsPlugin({
     cache: true,
     parallel: true,
     sourceMap: mode === "development"
    }),
    new OptimizeCSSAssetsPlugin()
   ]

runtimeChunk

默認(rèn)為false,runtime相關(guān)的代碼(各個(gè)模塊之間的引用和加載的邏輯)內(nèi)嵌入每個(gè)entry。

true:對于每個(gè)entry會生成runtime~${entrypoint.name}的文件。

'single': 會生成一個(gè)唯一單獨(dú)的runtime.js文件,就是manifest。

multiple:和true一致。name:{}:自定義runtime文件的name

noEmitOnErrors

默認(rèn)為true,編譯錯(cuò)誤的時(shí)候是否不生成資源。

namedModules,namedChunks

development默認(rèn)都為true,production默認(rèn)為false,選擇是否給modulechunk更有意義的名稱。

nameModules:true這里會顯示路徑

nameModules:false直接采用索引自增

namedChunks:true

namedChunks:false采用索引

moduleIds

一般不建議配置namedModules,namedChunks
針對module的配置,這里會取hashed。

針對chunk的配置,特別是異步代碼一般會采用@vue-cli3推薦的插件

removeAvailableModules,removeEmptyChunks,mergeDuplicateChunks,flagIncludedChunks

這4個(gè)參數(shù)構(gòu)建默認(rèn)都是true,主要是用于構(gòu)建優(yōu)化,不需要改,基本就是字面意思。

splitChunks

主要就是根據(jù)不同的策略來分割打包出來的bundle
默認(rèn)配置:

1.chunks

async(默認(rèn))

splitChunks:{
  chunks:'async'//分割異步打包的代碼,
}

打包出b和vue兩個(gè)chunk。

all:

splitChunks:{
  chunks:'all',//同時(shí)分割同步和異步代碼,推薦。
  cacheGroup:{//默認(rèn)的規(guī)則不會打包,需要單獨(dú)定義
   a: {
    test: /a\.js/,
    chunks: "all",
    name: "a",
    enforce: true
   }
  }
}

initial

splitChunks:{
  chunks:'initial'//也會同時(shí)打包同步和異步,但是異步內(nèi)部的引入不再考慮,直接打包在一起,會將vue和b的內(nèi)容直接打包成chunk,
  cacheGroup:{//默認(rèn)的規(guī)則不會打包,需要單獨(dú)定義
   a: {
    test: /a\.js/,
    chunks: "all",
    name: "a",
    enforce: true
   }
  }
}

2.name
分割的js名稱,默認(rèn)為true,返回
${cacheGroup的key} ${automaticNameDelimiter} ${moduleName},可以自定義。

3.minChunks
最小公用模塊次數(shù),默認(rèn)為1

4.minSize,maxSize,maxAsyncRequests(按需加載時(shí)候最大的并行請求數(shù)),maxInitialRequests(一個(gè)入口最大的并行請求數(shù))
都為字面意思,一般不建議改。

5.cacheGroups
緩存策略,默認(rèn)設(shè)置了分割node_modules和公用模塊。內(nèi)部的參數(shù)可以和覆蓋外部的參數(shù)。
test 正則匹配文件
priority 優(yōu)先級
reuseExistingChunk是否復(fù)用存在的chunk

  cacheGroup:{
   a: {
    test: /a\.js/,//匹配規(guī)則
    minChunks:2,//重寫公用chunks的次數(shù)
    chunks: "all",
    name: "a",//重寫文件名稱
    enforce: true //強(qiáng)制生成
   }
  }

6.automaticNameDelimiter
文件名稱分隔符號~

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論