vue代碼分割的實(shí)現(xiàn)(codesplit)
在vue單頁應(yīng)用中,若不做任何處理,所有vue文件會打包為一個文件,這個文件非常的大,造成網(wǎng)頁在首次進(jìn)入時比較緩慢。做了代碼分割后,會將代碼分離到不同的bundle中,然后進(jìn)行按需加載這些文件,能夠提高頁面首次進(jìn)入的速度,網(wǎng)站性能也能夠得到提升。
一、未分割時瀏覽器加載js的情況
可以看到,只有一個app.js,大小為595kb,若在實(shí)際的大型項(xiàng)目中,這個大小會更大
二、做了代碼分割后瀏覽器加載js情況
發(fā)現(xiàn)多了一個js文件,且app.js大小也變小了,下面看看點(diǎn)擊到其他頁面時加載情況
點(diǎn)到其他頁面后,頁面會依次加載當(dāng)前頁面的js
三、代碼中如何使用
該demo中使用的vue版本號為2.5.2,不同版本的使用方式可能會有所不同
1、首先,看一下路由按需加載的做法
下面是修改前的代碼
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import page1 from '@/page/page1'
import page2 from '@/page/page2'
import page3 from '@/page/page3'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'HelloWorld',
component: HelloWorld
},
{
path: '/page1',
name: 'page1',
component: page1
},
{
path: '/page2',
name: 'page2',
component: page2
},
{
path: '/page3',
name: 'page3',
component: page3
}
]
})
此時,我們只需將
import page1 from '@/page/page1'
改為
const page1 = () => import('@/page/page1')
這樣,我們在切換路由時便達(dá)到按需加載了,怎么樣,是不是很簡單
2、在組件中按需加載其他組件
我們還是先來看看修改前的代碼,此時引用組件的方式為傳統(tǒng)正常的方式
import vOther from '@/components/other'
export default {
components: {
vOther
}
}
我們只需做如下修改,便能達(dá)到我們想要的效果,將
import vOther from '@/components/other'
改為
const vOther = () => import('@/components/other')
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
如何構(gòu)建 vue-ssr 項(xiàng)目的方法步驟
這篇文章主要介紹了如何構(gòu)建 vue-ssr 項(xiàng)目的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
VUE.CLI4.0配置多頁面入口的實(shí)現(xiàn)
這篇文章主要介紹了VUE.CLI4.0配置多頁面入口的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Element通過v-for循環(huán)渲染的form表單校驗(yàn)的實(shí)現(xiàn)
日常業(yè)務(wù)開發(fā)中,form表單校驗(yàn)是一個很常見的問題,本文主要介紹了Element通過v-for循環(huán)渲染的form表單校驗(yàn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
vue3如何實(shí)現(xiàn)在style中使用響應(yīng)式變量
vue3已經(jīng)內(nèi)置了這個功能啦,可以在style中使用v-bind指令綁定script模塊中的響應(yīng)式變量,這篇文章我們來講講vue是如何實(shí)現(xiàn)在style中使用script模塊中的響應(yīng)式變量,感興趣的朋友一起看看吧2024-07-07
vue-以文件流-blob-的形式-下載-導(dǎo)出文件操作
這篇文章主要介紹了vue-以文件流-blob-的形式-下載-導(dǎo)出文件操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08

