第壹次使用vue2.0開發,之前都是用的angular1.x。在使用vue-cli腳手架打包後(UI用的Element-ui),發現vendor文件很大,將近1M左右。後來翻閱資料才明白,原來webpack把所有的庫都打包到了壹起,導致文件很大。
我的解決辦法:
1、把不常改變的庫放到index.html中,通過cdn引入,比如下面這樣:
然後找到build/webpack.base.conf.js文件,在 module.exports = { } 中添加以下代碼
externals: {
'vue': 'Vue',
'vue-router': 'VueRouter',
'element-ui': 'ELEMENT',
},這樣webpack就不會把vue.js, vue-router, element-ui庫打包了。聲明壹下,我把main.js中對element的引入刪掉了,不然我發現打包後的app.css還是會把element的css打包進去,刪掉後就沒了。
然後妳打包就會發現vendor文件小了很多~
如果妳還不滿足,請接著往下看·····
2、vue路由的懶加載(具體作用,官網查看哦,這裏就不多介紹了)。
剛開始我們使用路由可能是下面這樣(router.js),這樣壹開始進入頁面就會把所有的路由資源都加載,如果項目大,加載的內容就會很多,等待的時間頁就會越長,導致給用戶的不好的體驗效果。
為了把路由分模塊,然後每次進入壹個新頁面才加載該頁面所需要的資源(也就是異步加載路由),我們可以像下面這樣使用(router.js):
然後妳打包就會發現,多了很多1.xxxxx.js;2.xxxxx.js等等,而vendor.xxx.js沒了,剩下app.js 和manifest.js,而且app.js還很小,我這裏是100k多壹點。
這裏我沒有生成map文件,這樣打包速度快壹些,整個項目文件也小很多(map文件壹般都很大);
取消生成map文件,找到config/index.js ,修改下面箭頭指向為false,就行了。
剛開始使用,壹路磕磕碰碰在所難免,也借鑒了很多前輩們的經驗,所以在這裏記錄壹下,希望能幫到更多的人。