av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

解決vue項(xiàng)目router切換太慢問題

瀏覽:2日期:2023-01-03 13:18:25

問題定位:

隨著項(xiàng)目增大,有一天突然發(fā)現(xiàn)頁面切換時(shí)候,要等1-2s頁面才切換過去,然后就開始定位問題,剛開始以為時(shí)頁面組件太多導(dǎo)致的,通過刪除組件,發(fā)現(xiàn)沒啥改善,然后就在兩個(gè)頁面打印日志,第二頁面created周期時(shí)間和路由切換時(shí)間相差不大,可以排除是頁面渲染耗時(shí)。然后在第一個(gè)頁面的destroyed周期里面打印日志,發(fā)現(xiàn)destroyed->router切換耗時(shí)1.5s左右,這時(shí)候定位問題是vue的destroyed周期耗時(shí)。

destroyed周期耗時(shí):

這時(shí)候就考慮destroyed為啥要那么久,這時(shí)候就很納悶,第一反應(yīng)肯定是頁面組件太多,這是把組件都刪了,還是很慢,然后頁面就剩下一個(gè)表格和查詢條件,然后就想是不是數(shù)據(jù)量太大導(dǎo)致destroyed耗時(shí),然后就查頁面接口,發(fā)現(xiàn)有個(gè)list接口有4000多條數(shù)據(jù),然后去掉接口,頁面切換立馬流暢了;就想數(shù)據(jù)多為啥導(dǎo)致銷毀耗時(shí),然后就想到了這個(gè)list是下拉框,這4000多條數(shù)都渲染在頁面上,銷毀不耗時(shí)才怪呢。

selected下拉框數(shù)據(jù)多,導(dǎo)致銷毀耗時(shí)

然后就想辦法處理select數(shù)據(jù)多問題,第一時(shí)間想用服務(wù)端過濾,想到服務(wù)端性能跟不上,只能在前端過濾;然后就想辦法在前端過濾,初始化不給值,篩選的時(shí)候才給篩選過后的值

remoteMethod(query) { if (query !== '') { this.selectLoading = true; setTimeout(() => { this.selectLoading = false; this.source.storeSelectList = this.source.storeList.filter(item => { return ( item.storeName && item.storeName.toLowerCase().indexOf(query.toLowerCase()) > -1 ); }); }, 200); } else { this.source.storeSelectList = this.search.brandId ? this.source.storeList : []; } }

補(bǔ)充知識:vue路由懶加載鏈接過多導(dǎo)致本地開發(fā)熱更新慢的解決

解決辦法

通過vue-cli來構(gòu)建的項(xiàng)目正常情況下一般的熱更新會在1-10s之間,但是當(dāng)項(xiàng)目中的路由鏈接數(shù)量達(dá)到一定數(shù)目的時(shí)候我發(fā)現(xiàn)熱更新的速度大幅增加.甚至長達(dá)2-3分鐘之久,這就讓我堅(jiān)決不能忍了,隨便改點(diǎn)東西就要等如此之久…當(dāng)然這個(gè)跟電腦的CPU是有一定關(guān)系的

于是開始著手解決問題,不過查了好久愣是沒有什么解決辦法,后來在一位大佬的幫助下才解決.順便利用這次機(jī)會記錄一下這個(gè)過程

首先,在router文件下面創(chuàng)立兩個(gè)js文件,分別為

_import_development.js

_import_production.js

如圖:

解決vue項(xiàng)目router切換太慢問題

上代碼

_import_development.js

這個(gè)文件用作本地開發(fā)用

module.exports = file => require(’@/views/’ + file + ’.vue’).default

_import_production.js

這個(gè)文件用過打包部署用

module.exports = file => () => import(’@/views/’ + file + ’.vue’)

然后需要在index.js里面修改一下

const _import = require(’./_import_’ + process.env.NODE_ENV);export const routers = [ { path: ’/’, name: ’home’, meta: { title: ’主頁’ }, component: _import(’home’) },]

這樣修改以后在本地開發(fā)就不會出現(xiàn)熱更新變慢的情況了

基本都在幾秒之內(nèi)

解決vue項(xiàng)目router切換太慢問題

不過這個(gè)方法只限于路由都在前端項(xiàng)目里寫固定的情況下

如果是動態(tài)路由我沒有試過,不清楚有沒有用

以上這篇解決vue項(xiàng)目router切換太慢問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 久久久久久亚洲欧洲 | 日韩欧美第一页 | 日本免费视频在线观看 | 在线精品亚洲欧美日韩国产 | 日韩一区二区在线观看视频 | 欧美不卡一区二区三区 | 三级免费 | 午夜在线视频 | 亚洲国产精品久久久久婷婷老年 | 天堂av中文在线 | 欧美日韩成人一区二区 | 日本成人三级电影 | 亚洲一区二区在线免费观看 | 爱爱免费视频网站 | 日韩亚洲欧美综合 | 日韩在线成人 | 二区在线视频 | 日韩精品在线观看免费 | 久久国内精品 | 国产成人a亚洲精品 | 亚洲欧美视频一区 | 国产精品一区视频 | 国产福利免费视频 | 毛片免费在线 | 亚洲欧美久久 | 国产乱性 | 国产一级电影在线 | 91国自产 | 91资源在线观看 | 精品入口麻豆88视频 | 99re视频在线| 99免费在线视频 | 欧美亚州综合 | 欧美日本韩国一区二区三区 | 日韩精品在线观看一区二区 | 精品国产一区二区三区性色av | 成在线人视频免费视频 | 日本精品久久久久久久 | 国产精品成人久久久久 | 精品久久久久久久久久久久久久 | 国产成人影院 |