最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2020年07月19日 15:23:59   作者:晨愛衿文  
這篇文章主要介紹了解決vue項(xiàng)目router切換太慢問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

問題定位:

隨著項(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ǔ)充知識(shí):vue路由懶加載鏈接過多導(dǎo)致本地開發(fā)熱更新慢的解決

解決辦法

通過vue-cli來構(gòu)建的項(xiàng)目正常情況下一般的熱更新會(huì)在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ī)會(huì)記錄一下這個(gè)過程

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

_import_development.js

_import_production.js

如圖:

上代碼

_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ā)就不會(huì)出現(xiàn)熱更新變慢的情況了

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

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

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

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

相關(guān)文章

  • 解決VMware中vmware-vmx.exe進(jìn)程無法關(guān)閉以及死機(jī)等問題

    解決VMware中vmware-vmx.exe進(jìn)程無法關(guān)閉以及死機(jī)等問題

    這篇文章主要介紹了解決VMware中vmware-vmx.exe進(jìn)程無法關(guān)閉以及死機(jī)等問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Vue?Router組合布局用法詳解

    Vue?Router組合布局用法詳解

    今天我們用一種新的布局方式,使用路由視圖來實(shí)現(xiàn)布局樣式,本文將給大家介紹如何使用Vue?Router組合布局,文中有詳細(xì)的代碼示例供大家參考,感興趣的同學(xué)可以跟著小編一起學(xué)習(xí)
    2023-05-05
  • 關(guān)于Vue中keep-alive的作用及使用方法

    關(guān)于Vue中keep-alive的作用及使用方法

    keep-alive是Vue的內(nèi)置組件,當(dāng)它包裹動(dòng)態(tài)組件時(shí),會(huì)緩存不活動(dòng)的組件實(shí)例,該組件將不會(huì)銷毀,這篇文章主要介紹了關(guān)于Vue中keep-alive的作用是什么?怎么使用,需要的朋友可以參考下
    2023-04-04
  • Vue2項(xiàng)目配置@指向src路徑方式

    Vue2項(xiàng)目配置@指向src路徑方式

    這篇文章主要介紹了Vue2項(xiàng)目配置@指向src路徑方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • vue 微信授權(quán)登錄解決方案

    vue 微信授權(quán)登錄解決方案

    這篇文章主要介紹了vue 微信授權(quán)解決方案,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • vue中使用gojs/jointjs的示例代碼

    vue中使用gojs/jointjs的示例代碼

    這篇文章主要介紹了vue中使用gojs/jointjs的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • vue?mounted周期中document.querySelectorAll()獲取不到元素的解決

    vue?mounted周期中document.querySelectorAll()獲取不到元素的解決

    這篇文章主要介紹了vue?mounted周期中document.querySelectorAll()獲取不到元素的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 解決webpack+Vue引入iView找不到字體文件的問題

    解決webpack+Vue引入iView找不到字體文件的問題

    今天小編就為大家分享一篇解決webpack+Vue引入iView找不到字體文件的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue-element-admin 菜單標(biāo)簽失效的解決方式

    vue-element-admin 菜單標(biāo)簽失效的解決方式

    今天小編就為大家分享一篇vue-element-admin 菜單標(biāo)簽失效的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue如何實(shí)現(xiàn)表單多選并且獲取其中的值

    vue如何實(shí)現(xiàn)表單多選并且獲取其中的值

    這篇文章主要介紹了vue如何實(shí)現(xiàn)表單多選并且獲取其中的值問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評(píng)論

凤山县| 广灵县| 宜城市| 蚌埠市| 蓬溪县| 夏河县| 门头沟区| 恩施市| 白玉县| 枣阳市| 吉水县| 东阳市| 武强县| 凯里市| 日照市| 芦溪县| 出国| 朝阳县| 阿合奇县| 鄯善县| 金沙县| 旺苍县| 黑山县| 韶关市| 抚州市| 东乡| 油尖旺区| 林周县| 巫溪县| 唐海县| 兰州市| 资中县| 景东| 安多县| 临漳县| 黑河市| 大悟县| 横山县| 枣阳市| 会东县| 林甸县|