前端微应用化

微应用与微前端

  • 微应用框架是一种类微前端框架;
  • 相比与微前端,微应用实施成本低、技术难度小、维护成本低;
  • 微应用化即在开发和运行时,应用都是以单一、微小应用的形式存在;
  • 如果以微前端的单独开发、单独部署、运行时聚合的基本思想来看,微应用化就是微前端的一种实践;
  • 微应用化只能使用唯一的一种前端框架;
  • 微应用面临的问题:共享组件和路由分发;

前端框架方案对比

  • 微服务化,即每个前端应用一个独立的服务化前端应用,并配套一套统一的应用管理和启动机制,诸如微前端框架 Single-SPA 或者 mooa 。
  • 微件化,即通过对构建系统的 hack,使不同的前端应用可以使用同一套依赖。它在应用微服务化的基本上,改进了重复加载依赖文件的问题。


    前端框架方案

架构设计方案

  • 微应用化能够实施的前提是前端框架本身是能支持功能模块的 Lazyload。不过,事实上支持 Lazyload 的另外一个关键因素是: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' }
];

测试

  • 依赖一致检测测试:避免在线上依赖并不一致的时候,出现一些意料之外的 Bug;
  • 功能模块生成测试之一:测试复制的模块能复制到对应的目录上;
  • 功能模块生成测试之二:测试生成的模块代码大小是否正常;
  • 功能模块生成测试之三:E2E 测试;

总结

微应用化,又可以称之为组合式集成,即通过软件工程的方式,在开发环境对单体应用进行拆分,在构建环境将应用组合在一起构建成一个应用。

原文:https://www.bilibili.com/read/cv8190471/

你可能感兴趣的:(前端微应用化)