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


轉載地址:http://www.php.cn/js-tutorial-405428.html

這篇文章主要介紹了使用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,就行了。

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

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM