一次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的標(biāo)簽名;
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,找到這段代碼

最后就是后端配置的問題
瀏覽器查看請求頭,有下面這些標(biāo)志就是開啟成功了

三、路由懶加載,這種最簡單的了就不多說了
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)文章
Vue3中級指南之如何在vite中使用svg圖標(biāo)詳解
在以webpack為構(gòu)建工具的開發(fā)環(huán)境中我們可以很方便的實現(xiàn)SVG圖標(biāo)的組件化,下面這篇文章主要給大家介紹了關(guān)于Vue3中級指南之如何在vite中使用svg圖標(biāo)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
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-07
Vue?transition組件簡單實現(xiàn)數(shù)字滾動
這篇文章主要為大家介紹了Vue?transition組件簡單實現(xiàn)數(shù)字滾動示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
vue-content-loader內(nèi)容加載器的使用方法
這篇文章主要介紹了vue-content-loader內(nèi)容加載器的使用方法,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-08-08

