延遲加載

延遲加載

在Vue項(xiàng)目中,所有以import方式導(dǎo)入的組件的html+css+js等都會(huì)編譯到app.js文件中所以這個(gè)文件會(huì)很大,但是這個(gè)文件必然在首屏加載的時(shí)候下載。 這就導(dǎo)致了首屏加載慢。這時(shí)候可以使用延遲加載解決問題,其中延遲加載又分為異步延遲加載和徹底延遲加載。

異步延遲加載
//第一步注釋import導(dǎo)入的文件
//import  About from '../components/About.vue';
//第二步將引入組件的方式以箭頭函數(shù)的方式異步引入
const routes = [
   {
     path: '/about',
     component: () => import( /* webpackChunkName: 'about' */ '../components/About.vue' )
   }
]
注意:import中  /* webpackChunkName: 'about' */ 這個(gè)注釋必須有,這個(gè)為將來打包命名

結(jié)果:最后打包工具打包不會(huì)將 About.vue組件中的內(nèi)容打包進(jìn)app.js中,
它會(huì)單獨(dú)打包成一個(gè)新的about.js文件,并在頁面加載完成后異步加載,從而達(dá)到懶加載效果
缺點(diǎn)就是,如果客戶不想看About頁面,但是還是會(huì)下載數(shù)據(jù),導(dǎo)致----偷跑流量

徹底懶加載
第一步: 這種方式基于異步延遲加載方式上,也就是先實(shí)現(xiàn)異步延遲加載后
 第二步: 跟目錄創(chuàng)建文件: vue.config.js    
 第三步: 文件添加以下代碼:
 module.exports={
     chainWebpack:config=>{
        config.plugins.delete("prefetch") //取消預(yù)加載
    }
}

異步懶加載適用于PC端;徹底懶加載是基于異步懶加載完成的,適用于移動(dò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),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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