微應(yīng)用與微前端
- 微應(yīng)用框架是一種類微前端框架;
- 相比與微前端,微應(yīng)用實(shí)施成本低、技術(shù)難度小、維護(hù)成本低;
- 微應(yīng)用化即在開發(fā)和運(yùn)行時,應(yīng)用都是以單一、微小應(yīng)用的形式存在;
- 如果以微前端的單獨(dú)開發(fā)、單獨(dú)部署、運(yùn)行時聚合的基本思想來看,微應(yīng)用化就是微前端的一種實(shí)踐;
- 微應(yīng)用化只能使用唯一的一種前端框架;
- 微應(yīng)用面臨的問題:共享組件和路由分發(fā);
前端框架方案對比
- 微服務(wù)化,即每個前端應(yīng)用一個獨(dú)立的服務(wù)化前端應(yīng)用,并配套一套統(tǒng)一的應(yīng)用管理和啟動機(jī)制,諸如微前端框架 Single-SPA 或者 mooa 。
-
微件化,即通過對構(gòu)建系統(tǒng)的 hack,使不同的前端應(yīng)用可以使用同一套依賴。它在應(yīng)用微服務(wù)化的基本上,改進(jìn)了重復(fù)加載依賴文件的問題。
前端框架方案
架構(gòu)設(shè)計(jì)方案
- 微應(yīng)用化能夠?qū)嵤┑那疤崾乔岸丝蚣鼙旧硎悄苤С止δ苣K的 Lazyload。不過,事實(shí)上支持 Lazyload 的另外一個關(guān)鍵因素是:webpack 對于 chunk 的使用。
export const ROUTES: Routes = [
{ path: '', pathMatch: 'full', redirectTo: 'dashboard' },
{ path: 'dashboard', loadChildren: '../dashboard/dashboard.module#DashboardModule' },
{ path: 'settings', loadChildren: '../settings/settings.module#SettingsModule' },
{ path: 'reports', loadChildren: '../reports/reports.module#ReportsModule' }
];
測試
- 依賴一致檢測測試:避免在線上依賴并不一致的時候,出現(xiàn)一些意料之外的 Bug;
- 功能模塊生成測試之一:測試復(fù)制的模塊能復(fù)制到對應(yīng)的目錄上;
- 功能模塊生成測試之二:測試生成的模塊代碼大小是否正常;
- 功能模塊生成測試之三:E2E 測試;
總結(jié)
微應(yīng)用化,又可以稱之為組合式集成,即通過軟件工程的方式,在開發(fā)環(huán)境對單體應(yīng)用進(jìn)行拆分,在構(gòu)建環(huán)境將應(yīng)用組合在一起構(gòu)建成一個應(yīng)用。
