路由懶加載性能優(yōu)化

路由懶加載也可以叫做路由組件懶加載,最常用的是通過(guò)import()來(lái)實(shí)現(xiàn)它。

//route/index.js
{
    path: '/about',
    name: 'About',
    component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
  }

然后通過(guò)Webpack編譯打包后,會(huì)把每個(gè)路由組件的代碼分割成一一個(gè)js文件,初始化時(shí)不會(huì)加載這些js文件,只當(dāng)激活路由組件才會(huì)去加載對(duì)應(yīng)的js文件。

我們使用vuecli創(chuàng)建項(xiàng)目時(shí),默認(rèn)就配置路由懶加載,啟動(dòng)工程,打開(kāi)網(wǎng)頁(yè),打開(kāi)開(kāi)發(fā)者工具的network發(fā)現(xiàn):


app1.png

可以看到在Home路由的時(shí)候,初始化加載了這么多文件,其中我們重點(diǎn)關(guān)注app.js為98.2kb
然后我們切換到About路由


app1.png

可以看到,切換到About路由時(shí),又加載了about.js,且size為預(yù)取緩存

然后再查看Elements發(fā)現(xiàn):


app1.png

about.js是在瀏覽器空閑時(shí)下載,當(dāng)切換about路由時(shí)才加載about.js

當(dāng)我們?nèi)∠酚蓱屑虞d

import About from '../views/About.vue'
...
{
    path: '/about',
    name: 'About',
    component: About
  }
...
app1.png

對(duì)比發(fā)現(xiàn)比懶加載多了幾kb,別看只有幾kb,當(dāng)項(xiàng)目越做越大,app.js只會(huì)越大,差距也會(huì)越大
由此可見(jiàn)路由懶加載是非常有必要的一個(gè)性能優(yōu)化選項(xiàng)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容