本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
框架和工具
不乏前端框架,例如 Angular 和 Next.js,但其中大多數都不是考慮到微前端的創建。因此,它們有時會缺少解決微型前端架構挑戰的機制。
一般框架考量
本指南並不旨在推薦或比較個別框架。由於多個微前端通常在同一個 Web 應用程序頁面上運行,因此加載和運行時性能是主要考慮的問題。選擇一個引入盡可能少開銷的框架非常重要。
框架根據渲染層進行劃分:
-
用戶端轉譯 (CSR)
-
伺服器端渲染 (SSR)
前端架構包括其他功能,例如靜態網站產生 (SSG)。不過,SSG 只會執行一次。微前端主要是在運行時組成,因此 CSR 和 SSR 是主要選項。
用戶端渲染
對於 CSR,有兩個熱門選項:
-
單水療中心框架
-
模塊聯合
單 SPA 是構成微型前端的輕量級選擇。它解決了微型前端架構中最常見的挑戰,例如在同一頁面中撰寫多個微前端,以及避免相依性衝突。
模塊聯合會開始作為一個插件,由 webpack 5 提供,它解決了微前端體系結構中的絕大多數挑戰,包括跨不同工件的依賴關係管理。模塊聯合 2.0 本地與 Rspack,webpack,電子版本地工作,現在使用. JavaScript
考慮根本不使用框架。根據 caniuse.com
伺服器端渲
在 SSR 方面,兩個主要選項比較複雜:
-
擁抱現有的框架,例如 Next.js,並應用使用模塊聯合的微前端原則。
-
使用 HTML-交over-the-wire 換代表微前端的 HTML 片段,並在執行階段在範本中撰寫這些片段。這種方法的一個例子是講台。