前言
在開發react單頁面應用時,我們會遇到乙個問題,那就是打包後的js檔案特別巨大,首屏載入會特別緩慢。這個時候我們應該講**進行分割,按需載入,將js 拆分成若干個chunk.js,用到就載入,react-loadable就可以很好地解決這個問題。
1.安裝
yarn add react-loadable
2.基本使用假設現在專案中有個 home頁面元件
//src/pages/home/index.js
import react, from 'react'
import from 'react-router-dom'
import home from '@pages/home'
const routes = () => (
);export default routes
被路由包裹的根元件 直接引入home元件 顯示為當前介面 會出現乙個問題
執行專案後我們可以看chrome的network記錄
那就是載入全部的js 檔案體積過大 開發久了 js檔案多了 就會影響體驗
噹噹噹噹 解決辦法來了
在home檔案下新建乙個loadable.js
檔案
import react from 'react';
import loadable from 'react-loadable';
//通用的過場元件
const loadingcomponent =()=>
export default loadable();
然後再router裡面呼叫
import home from '@pages/home/loadable' // 呼叫方法相同 只是加了一句
現在再看看chrome的network記錄
工作原理其實就是在頁面元件上有包了一成高階元件來代替原來的頁面元件
到這裡,**分割其實已經解決了,但是如果專案有100個頁面,那laodable.js就需要寫100遍,這樣就感覺有點冗餘了,所以這個我們可以封裝一下
首先,我們建乙個util
src/util/loadable.js
//封裝react-loadable
import react from 'react';
import loadable from 'react-loadable';
//通用的過場元件
const loadingcomponent =()=>
//過場元件預設採用通用的,若傳入了loading,則採用傳入的過場元件
export default (loader,loading = loadingcomponent)=>);
}
根元件引入方式
import react, from 'react'
import from 'react-router-dom'
import loadable from '../util/loadable'
const home = loadable(()=>import('@pages/home'))
const routes = () => (
);export default routes
封裝之後,laodable只需寫一次,改變的只是元件的引入方式,這樣一來就方便多了,react-loadable是以元件級別來分割**的,這意味著,我們不僅可以根據路由按需載入,還可以根據元件按需載入,使用方式和路由分割一樣,只用修改元件的引入方式 。 react loadable 實現路由懶載入
安裝依賴 yarn add react loadable 建立通用工具類 src util loadable.js 路由懶載入 非同步元件 import react from react import loadable from react loadable 通用的過場元件 const loadin...
效能測試 效能測試步驟
針對此次庫內作業效能測試,梳理一下期間的工作流程 梳理已有的介面指令碼,確認需要做效能測試的幾個介面,即使用率高,對效能有要求的幾個主要介面。結合頁面的操作,和確認的介面,梳理具體的業務邏輯 同時,請開發人員部署了測試環境。測試環境的伺服器指標,盡量和生產環境一致。部署的時候,負載均衡等情況也盡量和...
《效能之巔》初識效能
效能是一門令人激動 富於變化的學科同時又充滿挑戰的學科。衡量效能乙個重要指標 延時 系統效能是對於整個系統進行研究,包括了所有的硬體元件和整個軟體棧。通用的軟體棧有哪些呢?包括作業系統 os 核心,資料庫和應用程式層。術語中的 全棧 有時候指的是程式應用環境,包含資料庫,應用程式,和 伺服器。效能通...