問題:
vue項目打包後,vendor.js 達到800多KB太大, 服務器慢需要加載十幾秒
解決:
通過使用CDN引用加速,不讓webpack打包vue/vuex/vue-router/elementui/axios,vendor.js 變成 20幾KB,加載速度提升很大
方法
index.html 引入CDN
<script src="https://cdn.bootcss.com/vue/2.5.2/vue.min.js"></script>
<script src="https://cdn.bootcss.com/element-ui/2.12.0/index.js"></script>
<script src="https://cdn.bootcss.com/vue-router/3.0.6/vue-router.min.js"></script>
<script src="https://cdn.bootcss.com/vuex/3.1.2/vuex.min.js"></script>
<script src="https://cdn.bootcss.com/axios/0.19.0/axios.min.js"></script>
webpack.base.conf.js 裏面添加 externals 配置不打包的js
"表示要引入的資源的名字": “表示該模塊提供給外部引用的名字”
要注意名字的寫法,否則會報錯 xxx is not defined
module.exports = {
externals: {
'vue': 'Vue',
'vue-router': 'VueRouter',
'axios': 'axios',
'vuex': 'Vuex',
'element-ui': 'ELEMENT'
}
}
如果沒有其它代碼影響,可以再main.js
中去掉import vue/vuex......
然後 npm run build
看看vendorjs的大小
部署後,訪問速度提升很大。