提高webpack的構(gòu)建速度的幾種方法概括
通過(guò)externals配置來(lái)提取常用庫(kù)
利用DllPlugin和DllReferencePlugin預(yù)編譯資源模塊,通過(guò)DllPlugin來(lái)對(duì)那些我們引用但是絕對(duì)不會(huì)修改的npm包來(lái)進(jìn)行預(yù)編譯,再通過(guò)DllReferencePlugin將預(yù)編譯的模塊加載進(jìn)來(lái)。
使用Happypack 實(shí)現(xiàn)多線程加速編譯,要注意的第一點(diǎn)是,它對(duì)file-loader和url-loader支持不好,所以這兩個(gè)loader就不需要換成happypack了,其他loader可以類似地?fù)Q一下
使用Tree-shaking和Scope Hoisting來(lái)剔除多余代碼
使用fast-sass-loader代替sass-loader
babel-loader開(kāi)啟緩存
babel-loader在執(zhí)行的時(shí)候,可能會(huì)產(chǎn)生一些運(yùn)行期間重復(fù)的公共文件,造成代碼體積大冗余,同時(shí)也會(huì)減慢編譯效率
可以加上cacheDirectory參數(shù)或使用 transform-runtime 插件試試