如何解決使用vue打包時vendor文件過大或者是app.js文件很大的問題

這篇文章主要介紹了使用vue打包時vendor文件過大或者是app.js文件很大問題的解決方法,非常不錯,具有一定的參考借鑑價值,需要的朋友可以參考下

 

第一次使用vue2.0開發,之前都是用的angular1.x。在使用vue-cli腳手架打包後(UI用的Element-ui),發現vendor文件很大,將近1M左右。。後來翻閱資料才明白,原來webpack把所有的庫都打包到了一起,導致文件很大。

我的解決辦法:

1、把不常改變的庫放到index.html中,通過cdn引入,比如下面這樣:

然後找到build/webpack.base.conf.js文件,在 module.exports = { } 中添加以下代碼

 

1

2

3

4

5

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,就行了。

剛開始使用,一路磕磕碰碰在所難免,也借鑑了很多前輩們的經驗,所以在這裏記錄一下,希望能幫到更多的人。

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