最近接手了一個後臺管理系統,技術棧主要是vue全家桶+elementui,老大打開測試環境頁面的時候,說看到首頁須要6秒鐘,那如何進行優化呢?vue
首先咱們須要安裝webpack-bundle-analyzer
webpack
// webpack.prod.conf.js if (config.build.bundleAnalyzerReport) { const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin webpackConfig.plugins.push(new BundleAnalyzerPlugin()) } // config/index.js build: { // Run the build command with an extra argument to // View the bundle analyzer report after build finishes: // `npm run build --report` // Set to `true` or `false` to always turn it on or off bundleAnalyzerReport: process.env.npm_config_report }
運行npm run build --report
ios
咱們能夠看到,vendor中的elementui佔了500k,怎麼優化呢?git
在webpack配置文件中增長,接下來就是見證奇蹟的時刻。github
externals: { 'vue': 'Vue', 'element-ui': 'ELEMENT', 'axios': 'axios' },
再看一下咱們的vendor體積web
vendor一共才195knpm
那缺乏的elementui文件去哪裏找呢?答案是cdn引用。element-ui
以前項目裏還有引用moment,可是這個庫實在是太大了,在github上我找到一個跟momentapi徹底同樣的庫,可是文件大小隻要2kb。axios
其餘優化方法還有ssr,這個最好用nuxtjs來作,本身配置ssr實在太麻煩了。api
若是解決了你的問題,幫我點個贊吧