当一个前端项目变得越来越复杂,提高工程化中的编译速度、提高团队于团队之间的高效开发等场景,微前端是目前为止最适合的解决方案,它解决了不同团队使用不同技术栈的问题、解决了项目太过于庞大引发的各种问题。
以下是使用web-components来进行微前端的思路。
1、使用自定义元素,不限定使用的框架类型,只要是最终渲染为html即可。

2、使用自定义元素的生命周期,可以灵活处理组件的生命周期事件。

3、2017年各浏览器对web components的支持情况

4、目前浏览器对web components的支持情况

5、对于不支持的浏览器可以进行polyfill

6、支持web components的框架

7、使用自定义元素配合服务端进行渲染

8、配合SSI之后,微前端化的代码结构

9、微前端化遇到多页应用时,会有切换页面的问题,一个微应用内的路由切换很容易,但是应用与应用的路由切换就比较麻烦。

10、全局管理路由,通过一个全局的壳子,进行路由的配置和切换。

缺点是需要共享全局代码

11、微前端的一些注意点








其他资料:
- webcomponents学习网站:https://www.webcomponents.org/
最后我的感觉是:
有了微前端的一个可以参考的方向:web components,也是前端一个发展的方向,但是落地到项目,还是不太清楚应该从那里做起,如何实现这样一个微前端的项目架构。
继续学习!
网友评论