umijs有什麼好處 UmiJS應用框架

2021-10-16 21:40:00 字數 1491 閱讀 5691

介紹

umi,中文可發音為烏公尺,是乙個可插拔的企業級 react 應用框架。umi 以路由為基礎的,支援類 next.js 的約定式路由,以及各種高階的路由功能,並以此進行功能擴充套件,比如支援路由級的按需載入。然後配以完善的外掛程式體系,覆蓋從原始碼到構建產物的每個生命週期,支援各種功能擴充套件和業務需求,目前內外部加起來已有 50+ 的外掛程式。

特性開箱即用,內建 react、react-router 等

類 next.js 且功能完備的路由約定,同時支援配置的路由方式

完善的外掛程式體系,覆蓋從原始碼到構建產物的每個生命週期

高效能,通過外掛程式支援 pwa、以路由為單元的 code splitting 等

支援靜態頁面匯出,適配各種環境,比如中臺業務、無線業務、egg、支付寶錢包、雲鳳蝶等

開發啟動快,支援一鍵開啟 dll 等

一鍵相容到 ie9,基於 umi-plugin-polyfills

完善的 typescript 支援,包括 d.ts 定義和 umi test

與 dva 資料流的深入融合,支援 duck directory、model 的自動載入、code splitting 等等

架構下圖是 umi 的架構圖。

從原始碼到上線的生命週期管理

市面上的框架基本都是從原始碼到構建產物,很少會考慮到各種發布流程,而 umi 則多走了這一步。

下圖是 umi 從原始碼到上線的乙個流程。

umi 首先會載入使用者的配置和外掛程式,然後基於配置或者目錄,生成乙份路由配置,再基於此路由配置,把 js/css 原始碼和 html 完整地串聯起來。使用者配置的引數和外掛程式會影響流程裡的每個環節。

環境準備

首先得有 node,並確保 node 版本是 8.10 或以上。(mac 下推薦使用 nvm 來管理 node 版本)

$ node -v

8.1x

複製**

推薦使用 yarn 管理 npm 依賴,並使用國內源

# 國內源

$ npm i yarn tyarn -g

# 後面文件裡的 yarn 換成 tyarn

$ tyarn -v

複製**

然後全域性安裝 umi,並確保版本是 2.0.0 或以上。

$ yarn global add umi

$ umi -v

2.0.0

複製**faq:如果提示 umi: command not found,你需要將 yarn global bin 路徑配置到環境變數中,方法如下:

# mac 系統:

$ sudo vi ~/.bash_profile

# 在 .bash_profile 中新增下面一行:

export path="$path:`yarn global bin`"

# windows系統:

# 獲取 global bin 的路徑

$ yarn global bin

# 複製上面的 global bin 的路徑,新增到系統環境變數 path。

複製**

umijs框架載入cesium

建立umi專案,yarn create umi 選擇是否使用typescript n 選擇依賴 專案建立完成後,新增cesium 首先在.umirc.js檔案中新增以下常量 constcesiumsource node modules cesium source constcesiumworkers...

使用umijs實現登入鑑權功能

需求描述 進入某乙個頁面,如果鑑權失敗,則跳轉到登入頁面進行登入,登入成功,返回之前的頁面 實現方式 實現分析 首先寫乙個鑑權頁面,鑑權成功載入頁面,鑑權失敗跳轉登入頁面,將這個頁面包裹在專案的根元件外層 import react from react import proptypes from p...

umi許可權路由 umijs實現許可權路由

先吐槽一句,自己的 被公司的網路限制給封了,我也是無語了。最近在學習umijs,umijs就不多做介紹了,跟著官方api走了一遍demo,遇到最折磨我的問題 umirc.js配置錯誤 是許可權路由,加上也在梳理react中許可權路由和巢狀路由,索性就一起梳理一下。個人感覺react中的許可權路由確實...