解決方案使用CDN剝離JS檔案,讓他們獨立載入: 找出那些巨頭JS引用,如本例中的:Vue、Vue-Router、Element-UI、Quill等。 訪問https://www.bootcdn.cn/,找到這些檔案的CDN引用
(當然你也可以選擇其他CDN網站,本例使用bootcdn.cn)
3. 修改 專案根目錄下的 index.html
module.exports = { context: path.resolve(__dirname, '../'), entry: { app: './src/main.js' },// 在這個位置新增externals設定: externals: { 'vue': 'Vue', 'vue-router': 'VueRouter', 'element-ui': 'ELEMENT', //注意element-ui的引用時純大寫 'vue-quill-editor': 'VueQuillEditor', }, output: { path: config.build.assetsRoot, filename: '[name].js', publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath },
回到Vue原始檔裡面,刪除關於Vue、Vue-Router、element-ui相關的import和Use://import ElementUI from 'element-ui'//import Vue from 'vue'//import Router from 'vue-router'//Vue.use(ElementUI)//Vue.use(Router)//Vue.use(VueQuillEditor)
將這些程式碼通通註釋掉,因為在externals裡面已經做過聲明了,如果在Vue檔案裡再宣告一次,將會報重複引用的錯誤。
經過優化後,首頁平均載入時間從10秒壓縮到了2秒左右,優化效果十分明顯。
最新評論