Vue CLI 3.0 + momentjs + lodash 打包時優化

在vue-cli 2.0時代,webpack的配置是有獨立文件的,包含在build目錄下,修改也比較方便

到vue-cli 3.0後,webpack配置被整合到vue-cli的配置中了,需要配置一些打包插件比較麻煩了,比如優化momentjs壓縮包,使用webpack-bundle-analyzer等…

研究後發現vue-cli 3.0使用了chainWebpack來支持額外的插件配置,其實和2.0是差不多的

我們這裏使用momentjs,lodashwebpack-bundle-analyzer來演示如何配置chainWebpack

安裝依賴

chainWebpack已經默認包含在vue-cli中了,無需安裝

只需安裝webpack-bundle-analyzermomentjs,lodash,我用的是yarn,所以

yarn add momentjs
yarn add webpack-bundle-analyzer lodash-webpack-plugin --dev //優化要用到的插件

創建vue.config.js

在根目錄下創建vue.config.js

vue.config.js

var webpack = require('webpack') //引入webpack庫
var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin //引入webpack-bundle-analyzer

module.exports = {
    chainWebpack: config => {
        config.plugin('ignore')
            .use(new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/));//忽略/moment/locale下的所有文件
        config.plugin('analyzer')
            .use(new BundleAnalyzerPlugin())//使用webpack-bundle-analyzer 生成報表
        config.plugin("loadshReplace")
        	.use(new LodashModuleReplacementPlugin());//優化lodash
    }
}

編譯

通過yarn run build 編譯並生成報表,圖比較老,用的其他項目裏面沒有lodash

壓縮前

在這裏插入圖片描述

壓縮後

在這裏插入圖片描述

參考

webpack 修改插件選項
webpack-chain

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章