vue和react的路由懶載入

2021-10-20 06:05:49 字數 2379 閱讀 3389

懶載入用於解決首屏載入緩慢的問題

利用按需載入的思想,在第一次載入的過程中,只載入使用者所看到的部分剩下的部分,加快了首屏載入的速度。其實不管是vue還是react,其路由懶載入的實現得益於wepack的非同步模組打包,其原理就是利用es6 import()函式。這個import不是import命令。同樣是引入模組,import命令是同步引入模組,而import()函式動態引入。當 webpack 解析到該語法時,它會自動地開始進行**分割(code splitting),分割成乙個檔案,當使用到這個檔案的時候會這段**才會被非同步載入。

consta=

()=>

import

('./testcomponent'

)

1.import()符合ecmascript提議的import()語法,該提案與普通 import 語句或 require 函式的類似,但返回乙個 promise 物件。這意味著模組時非同步載入的

//import 命令

import

from

'./math'

;console.

log(

add(16,

26));

//import函式

import

("./math").

then

(math =>

);

function

component()

).catch

(error =>

'an error occurred while loading the component');

}// 或者使用async

async

function

getcomponent()

路由和元件的常用兩種懶載入方式:

1、vue非同步元件實現路由懶載入

2、es提出的import(推薦使用這種方式)

const helloworld = ()=>import(『需要載入的模組位址』)

react懶載入:

如何使用react.lazy

檔案內容

import react from

'react'

const

othercomponent=(

)=>

export

default othercomponent

import react from

'react'

;import

;//使用react.lazy匯入othercomponent元件

const othercomponent = react.

lazy((

)=>

import

('./othercomponent'))

;function()

export

這是最簡單的react.lazy,但是這樣頁面會報錯。這個報錯提示我們,在react使用了lazy之後,會存在乙個載入中的空檔期,react不知道在這個空檔期中該顯示什麼內容,所以需要我們指定。接下來就要使用到suspense

;//使用react.lazy匯入othercomponent元件

const othercomponent = react.

lazy((

)=>

import

('./othercomponent'))

;export

default

class

extends

component

render()

)}}>

載入othercomponent元件

vue路由懶載入

import vue from vue import vuerouter from vue router vue.use vuerouter var router new vuerouter routes name 登陸 path component resolve require.ensure r...

vue路由懶載入

方法一 resolve 這一種方法較常見。它主要是使用了resolve的非同步機制,用require代替了import,實現按需載入,下面是 示例 import vue from vue import router from vue router import helloworld from com...

Vue路由懶載入

常用的懶載入方式有兩種 即使用vue非同步元件和es中的import 未使用懶載入 import vue from vue import router from vue router import helloworld from components helloworld 未用懶載入 vue.use...