React和Vue實現(xiàn)路由懶加載的示例代碼
懶加載:也叫延遲加載,即在需要的時候進行加載,隨用隨載。
懶加載的意義:像vue這種單頁面應(yīng)用,如果沒有應(yīng)用懶加載,運用webpack打包后的文件將會異常的大,造成進入首頁時,需要加載的內(nèi)容過多,時間過長,會出現(xiàn)長時間的白屏,即使做了loading也是不利于用戶體驗,而運用懶加載則可以將頁面進行劃分,需要的時候加載頁面,可以有效的分擔(dān)首頁所承擔(dān)的加載壓力,減少首頁加載用時,減少資源的浪費
簡單的說就是:進入首頁不用一次加載過多資源造成用時過長
在React和Vue中,實現(xiàn)路由懶加載(Lazy Loading)的方法和代碼示例如下:
React
在React中,你可以使用React.lazy和Suspense組件來實現(xiàn)路由懶加載。下面是一個簡單的示例:
import React, { Suspense } from 'react'; import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; const Home = React.lazy(() => import('./routes/Home')); const About = React.lazy(() => import('./routes/About')); function App() { return ( <Router> <Suspense fallback={<div>Loading...</div>}> <Switch> <Route exact path="/" component={Home} /> <Route path="/about" component={About} /> </Switch> </Suspense> </Router> ); }
在這個示例中,我們使用React.lazy來動態(tài)導(dǎo)入Home和About組件。當(dāng)用戶訪問相應(yīng)的路由時,對應(yīng)的組件會按需加載。Suspense組件用于在組件加載過程中顯示加載提示。
Vue
在Vue中,你可以使用異步組件來實現(xiàn)路由懶加載。下面是一個簡單的示例:
import Vue from 'vue'; import Router from 'vue-router'; import Home from './routes/Home'; import About from './routes/About'; Vue.use(Router); const router = new Router({ routes: [ { path: '/', component: Home }, { path: '/about', component: () => import('./routes/About') } ] });
在這個示例中,我們使用動態(tài)導(dǎo)入來按需加載組件。在路由定義中,我們將組件設(shè)置為一個返回Promise的函數(shù),該Promise解析為對應(yīng)的組件實例。這樣,當(dāng)用戶訪問相應(yīng)的路由時,對應(yīng)的組件才會被加載。Vue Router會自動處理懶加載邏輯。
到此這篇關(guān)于React和Vue實現(xiàn)路由懶加載的示例代碼的文章就介紹到這了,更多相關(guān)React和Vue路由懶加載內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3組合式API之getCurrentInstance詳解
我們可以通過?getCurrentInstance這個函數(shù)來返回當(dāng)前組件的實例對象,也就是當(dāng)前vue這個實例對象,下面這篇文章主要給大家介紹了關(guān)于Vue3組合式API之getCurrentInstance的相關(guān)資料,需要的朋友可以參考下2022-09-09Vue引入高德地圖并觸發(fā)實現(xiàn)多個標(biāo)點的示例詳解
這篇文章主要介紹了Vue引入高德地圖并觸發(fā)實現(xiàn)多個標(biāo)點,主要是在public下的index.html中引入地圖,引入組件設(shè)置寬高100%,本文通過示例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-05-05vue項目使用electron-builder庫打包成桌面程序的過程
這篇文章主要介紹了vue項目使用electron-builder庫打包成桌面程序的過程,本文給大家介紹如何使用electron-builder這個庫結(jié)合實例代碼給大家講解的非常詳細,感興趣的朋友一起看看吧2024-02-02vue使用動態(tài)添加路由(router.addRoutes)加載權(quán)限側(cè)邊欄的方式
這篇文章主要介紹了vue使用動態(tài)添加路由(router.addRoutes)加載權(quán)限側(cè)邊欄的方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06Vue 數(shù)值改變頁面沒有刷新的問題解決(數(shù)據(jù)改變視圖不更新的問題)
這篇文章主要介紹了Vue 數(shù)值改變頁面沒有刷新的問題解決(數(shù)據(jù)改變視圖不更新的問題),本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-09-09如何使用VuePress搭建一個類型element ui文檔
這篇文章主要介紹了如何使用VuePress搭建一個類型element ui文檔,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02vue-treeselect及el-tree點擊節(jié)點獲取上級節(jié)點的數(shù)據(jù)方式
這篇文章主要介紹了vue-treeselect及el-tree點擊節(jié)點獲取上級節(jié)點的數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07Vue 配合eiement動態(tài)路由,權(quán)限驗證的方法
今天小編就為大家分享一篇Vue 配合eiement動態(tài)路由,權(quán)限驗證的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09