一次vue項目優(yōu)化的實際操作記錄
前言
項目前端優(yōu)化是我們經(jīng)常需要去做的事情,今天我們就來記錄下我的實際操作。
一、CDN引入
這是一個常態(tài)化的操作了,主要是讓我們通過npm
下載依賴包和import引入的文件,變成線上使用,減少打包后的文件大小。比如常用的vue、ElementUI、vuex、vue-router、axios
等等一些常用的
首先在index.html
文件引入
<!-- 引入樣式 --> <link rel="stylesheet" rel="external nofollow" > <script src="https://cdn.jsdelivr.net/npm/vue@2"></script> <script src="https://unpkg.com/vue-router@3.0.0/dist/vue-router.js"></script> <script src="https://unpkg.com/vuex@4.0.0/dist/vuex.global.js"></script> <!-- 引入組件庫 --> <script src="https://unpkg.com/element-ui@2.13.2/lib/index.js"></script>
然后注釋掉import引入的
一定要把Vue.use(ElementUI)
注釋
第三步,找到webpack.base.conf.js
文件,在下面添加你CDN引入的依賴
vuex的store/store.js
文件里面修改
router文件也需要修改
坑:
1.一定要先引入vue
的,然后再加其他的,不然會報錯,找不到elementUI
的標簽名;
2.不能只引入elementUI
,不引入vue
,一樣會報錯;
3.我引入的vue-router
的CDN
,在抓包的時候發(fā)現(xiàn)居然要四點多秒種才下載完成,所以我就去掉了,我不知道你們會不會,可以先試試。
二、gzip壓縮
首先安裝一個插件
npm install --save-dev compression-webpack-plugin
然后在config/index.js
里面開啟
然后在webpack.prod.conf.js
,找到這段代碼
最后就是后端配置的問題
瀏覽器查看請求頭,有下面這些標志就是開啟成功了
三、路由懶加載,這種最簡單的了就不多說了
const production = () => import('@/components/view/production/production') ? { name: '123123', path: 'production', component: production },
四、打包不生成map文件
config/index.js ? productionSourceMap: false,
五、router上面使用props傳參數(shù),導(dǎo)致頁面加載時間很長
我在優(yōu)化一個項目的時候,里面有一個單點登陸的功能頁面。這個需要通過路由傳參數(shù),但是在首次進入頁面的時候,瀏覽器捉包發(fā)現(xiàn)第一次請求的時候,打包的css一直被掛載長達將近20秒。
從發(fā)現(xiàn)這個問題開始,我一直以為是因為css文件太多,但是也就四百多kb,但是也對css文件進行各種的優(yōu)化,拆分、減少背景圖片的引入等等,甚至使用了CDN引入了某些css文件,減少到兩百多kb最后還是一樣的問題,就覺得不是這個問題。
最后我們測試,正常打開登陸頁面然后進入頁面,是正常的不會掛載。但是使用單點登陸就會掛載,然后就去一個測試檢測,最后發(fā)現(xiàn),只要把傳參模式修改了,就正常了?。。。。。。。。。。。。。。。。。。。。。。。。。?!
優(yōu)化前的傳參,使用了props
{ name: 'Login', path: '/Login', component: Login, props: (route) => ({username: route.query.username}) },
優(yōu)化后的參數(shù),直接拼在路徑后面
{ name: 'Login', path: '/Login/:username', component: Login, // props: (route) => ({username: route.query.username}) },
我是真的栓q!
總結(jié)
到此這篇關(guān)于vue項目優(yōu)化的文章就介紹到這了,更多相關(guān)vue項目優(yōu)化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue 2.0的數(shù)據(jù)依賴實現(xiàn)原理代碼簡析
本篇文章主要介紹了Vue 2.0的數(shù)據(jù)依賴實現(xiàn)原理代碼簡析,主要從初始化的數(shù)據(jù)層面上分析了Vue是如何管理依賴來到達數(shù)據(jù)的動態(tài)響應(yīng),有興趣的可以了解一下2017-07-07Vue?transition組件簡單實現(xiàn)數(shù)字滾動
這篇文章主要為大家介紹了Vue?transition組件簡單實現(xiàn)數(shù)字滾動示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09vue-content-loader內(nèi)容加載器的使用方法
這篇文章主要介紹了vue-content-loader內(nèi)容加載器的使用方法,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-08-08