文章插图
可见,子模块的路由完全遵循Vue的路由规范(或遵循自身使用的框架的规范),这样可以让容器应用毫不费力地直接添加引用 。容器应用加载完成js文件后,可以直接调用window.mp.home_routes()获来取已定义好的ROUTES配置 。
【微前端架构技术解析】- 子模块的entry文件(jobs/*.js)
每一个子模块都需要一个单独的entry文件,这类似于主容器的jobs/app.js,能用于初始化子模块代码、绑定全局渲染函数等 。entry文件与正常的初始化Vue方式一样,只是需要将初始化逻辑包裹在一个全局函数中,以便主容器能在加载此模块js完毕后,方便的进行渲染调用 。例如:
文章插图
根据以上代码,渲染出来的Vue模块会被放到指定的#${containerId}中,这个ID由主容器在渲染时动态传入,以便将模块插入到指定的页面位置 。
- 子模块代码开发
子模块代码开发与正常的Vue开发并无不同,可以轻松迁移老代码,只需要注意一些通用代码的引用并通过上文提到的懒加载模式引入 。
后记爱奇艺号技术团队基于Vue定制开发了微前端框架,通过应用上面介绍的基本方法及其他的自定义逻辑,我们搭建了与业务代码开发、代码迭代非常契合的一套微前端框架 。我们认为微前端的主要好处有:
· 更小,更紧密且更易维护的代码库 。
· 组织更具扩展能力,团队可更加独立自治 。
未来,我们会继续完善前端框架,使其性能更加优秀,进一步提升爱奇艺号前端代码的开发效率,实现不同应用之间页面级别的自由组合,从而可生成个性化控制台 。
实现微前端有很多技术方法,不同的企业有不同的对策;从服务端转换到 iframe 和 JAVAScript 元框架和 Web 组件等都是可选的微前端方案 。
感兴趣的朋友可以阅读实现微前端的技术方法:https://medium.com/dazn-tech/adopting-a-micro-frontends-architecture-e283e6a3c4f3
推荐阅读
- AMD|性能脱胎换骨!AMD Zen4更强大了:新架构有望集成GPU/NPU单元
- 郑爽承认新恋情马天宇微博 马天宇和郑爽微博很少互动
- 前端必懂面试题之浏览器输入URL之后发生了什么
- 利用什么可以制作小程序?微信小程序详解
- 1990年哈士奇恐怖微笑事件 诡异哈士奇
- 微软|微软确认Windows 11新功能:一大波小工具开放 侧边栏展示
- 市场情绪的理解与运用 微博情绪怎么看2021
- 我仅用10步,就写出了全网最全的微服务架构详解
- 福建茶企借助新媒体步入微营销时代
- 2021微博之夜在哪看? 新浪微博直播