【技术实现步骤摘要】
基于微前端的数据处理方法及框架
本申请涉及数据处理
,具体涉及一种基于微前端的数据处理方法及框架。
技术介绍
现代企业在数字化转型上加速进行,企业的软件工程体量越来越大,软件开发过程中前后端分离,后端的微服务化已经有行业较成熟的解决方案;前端工程采用VUE/REACT/AngularJS三个框架其一来构建单页应用是行业中的常规开发模式;随着业务的发展,一个前端工程包含了上百甚至更多的个业务模块,前端单页应用已成为一个单页巨石应用。传统的前端开发技术面临着如下的技术问题:巨石前端工程体量巨大,运维实施编译发布时间长,哪怕是一个文案的改动也需要整个工程重新编译,发布几个小时;每次发布都需要将前端单一工程编译增加发布(release)分支,一个前端工程里包含了十几个项目,几乎每天都会有项目发布,发布分支冗余,常出现发布分支不对造成的错发漏发;代码耦合度高,通过分支管控,每个项目都会有十几个研发分支,十几个项目在一个工程每天会有分支冲突解决,需要大量时间成本,研发效率越来越低;一个前端工程里有成千上百个页面,页面跳转路由由一个文件集中管理,页面路由的身份表示号(ID)冲突,命名空间冲突,权限冲突等,管控复杂度高;单页前端工程所有业务逻辑都在一起,采用逻辑隔离,共有和私有组件边界不清晰,各个团队维护的代码冗余且容易污染全局。在这种情况下,基于微服务架构的微前端开发技术应运而生,微服务是面向服务架构(SOA)的一种变体,把应用程序设计成一系列松耦合的细粒度服务,并通过轻量级的通信协议组织起来具体地,将应用构建成一组 ...
【技术保护点】
1.一种基于微前端的数据处理方法,其特征在于,所述方法是通过微前端的数据处理框架实现的,所述微前端的数据处理框架包括应用配置中心、微前端主工程模块和至少一个微前端子工程模块,所述应用配置中心通讯连接所述微前端主工程模块,所述微前端主工程模块通讯连接所述微前端子工程模块;所述方法包括:/n所述应用配置中心接收各子应用的定制信息,并将所述各子应用的定制信息发送至所述微前端主工程模块;/n所述微前端主工程模块根据所述各子应用的定制信息生成所述各子应用的加载菜单和初始化文件;根据各子应用的加载菜单加载各子应用对应的微前端子工程模块;并将各子应用初始化文件发送至各子工程对应的微前端子工程模块;/n所述微前端子工程模块根据接收的初始化文件发布各子应用,以使所述微前端主工程模块对所述各子应用进行标准化,实现主应用的发布,其中,所述主应用与所述各子应用是同源的。/n
【技术特征摘要】
1.一种基于微前端的数据处理方法,其特征在于,所述方法是通过微前端的数据处理框架实现的,所述微前端的数据处理框架包括应用配置中心、微前端主工程模块和至少一个微前端子工程模块,所述应用配置中心通讯连接所述微前端主工程模块,所述微前端主工程模块通讯连接所述微前端子工程模块;所述方法包括:
所述应用配置中心接收各子应用的定制信息,并将所述各子应用的定制信息发送至所述微前端主工程模块;
所述微前端主工程模块根据所述各子应用的定制信息生成所述各子应用的加载菜单和初始化文件;根据各子应用的加载菜单加载各子应用对应的微前端子工程模块;并将各子应用初始化文件发送至各子工程对应的微前端子工程模块;
所述微前端子工程模块根据接收的初始化文件发布各子应用,以使所述微前端主工程模块对所述各子应用进行标准化,实现主应用的发布,其中,所述主应用与所述各子应用是同源的。
2.根据权利要求1所述的数据处理方法,其特征在于,所述定制信息包括:应用信息、菜单信息、权限配置信息。
3.根据权利要求1所述的数据处理方法,其特征在于,所述主应用与各所述子应用以及各所述子应用之间通过Iframe沙箱技术实现Javascript隔离和CascadingStyleSheets隔离。
4.根据权利要求1所述的数据处理方法,其特征在于,所述根据各子应用的加载菜单加载各子应用对应的微前端子工程模块包括:
根据所述各子应用的加载菜单中的postMessage确定组成主应用的各子应用,根据所述组成主应用的各子应用确定所述各子应用对应的微前端子工程模块;
加载所述各子应用对应的微前端子工程模块;
所述微前端主工程模块还包括:
加载主工程共享组件,其中,所述主工程共享组件包括常用开源依赖组件和公共共享依赖组件,所述公共共享依赖组件包括渲染组件和开发编译组件。
5.根据权利要求1所述的数据处理方法,其特征在于,所述微前端子工程模块根据接收的初始化文件发布各子应用包括:
根据所述初始化文件调用所述微前端主工程模块的主工程共享组件以完成各子应用的开发;
将开发形成的各子应用中的主工程共享组件剔除后,将所述各子应用打包后,与各子应用的页面加载生命周期对应发送至所述微前端主工程模块。
6.根据权利要求1所述的数据处理方法,其...
【专利技术属性】
技术研发人员:王炜,
申请(专利权)人:薪得付信息技术上海有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。