Hi 小伙伴们,你们好!我们团队内部自主研发了 EMP 微前端方案,今天正式向 V2EX 的小伙伴们介绍一下,还请多多指教。
EMP 微前端方案,是我们团队经过详细调研和多次落地实践后,设计的一套零改造成本的、有完善脚手架生态的、目前独一无二的微前端解决方案,并且已经开源: https://github.com/efoxTeam/emp
可能大家会有以下几个问题,我们来一一解答:
微前端的概念介绍可以看《什么是微前端》这篇文章,看完之后,您就了解了微前端的概念,并且对微前端带来的收益可能有比较好的认知。
可以跨 Vue 和 React 框架、Vue 2 和 Vue 3 使用的呢,详细可看《 Vue 和 React 项目如何互相远程调用》
另外,如果您是像使用了 cocos2d 游戏开发框架的话,也是可以使用的,可以看实战教程《 cocos2d 项目如何使用和接入 EMP 》
这肯定可以的,因为 EMP 是基于 Webpack5 Module-federation 的,于 Webpack5 Module-federation 本身就是 Application 级别的。我们在实践过程中,也很推荐搭建一个共享站(独立部署的应用),比如《教你共享站搭建技巧》这篇教程,更是体现了应用级别的使用技巧。
EMP 微前端方案是基于Webpack5 Module-federation 搭建的一套脚手架和插件生态体系,所以要问和 singlespa 或 monorepo 开发方式有什么区别的话,需要追究到 Webpack5 Module-federation 和 singlespa/monorepo 开发方式有什么区别。可能您学习一下《 module Federation 原理学习》,了解 Module-federation 带来的收益可能就清楚了。
不是的呢,EMP 是一套基于 Webpack5 Module-federation 搭建的一套脚手架和插件生态体系,这个生态是基于实践锤炼出来的,在实践中我们确实遇到了一些困难,并且成功解决了这些困难,更好完善了 EMP 生态。但我们需要更多人使用和参与 EMP 的体验中,大家一起探讨未来会遇到什么难题,我们携手一起解决,让微前端社区因为有我们而变得更加美好。
EMP 是我司内部孵化的结晶,并且成功经过了我司内部80%大型线上项目的锤炼,但我们相信,更是需要社区的百般锤炼,才可以造就更好的 EMP ,所以开源面向大家,希望可以得到大家宝贵的指点。EMP 初心是让微前端社区更加美好,那么,让我们一起让微前端变得更加美好吧,加油,微前端人!