之前看过一本书《前端架构》,里面介绍微前端的时候,提到了 single-spa ,从那之后就感觉这微前端越来越火,后来还做过demo,后来发现太难了,看不懂demo,草草做了笔记便没有后续了。

    这里尝试回顾一遍,重新认识 single-spa

    微前端的概念和演进不再提及,这里我说一个愿景:

    • 我们有两个项目,一个react,一个vue,都是独立部署可访问的
    • 我们希望可以在一个页面里访问这两个项目,实现一个单页访问不同项目,同时能隔离样式、传递数据

    为啥会有这两个想法,做重构项目、后端管理系统时候会常常遇到此类问题。

    要这样做有啥技术点:

    • 路由劫持,当我访问一个路由时候,能劫持他,返回我想要的数据
    • 技术栈无关,能通用管理不同的app,封装统一的生命周期方法,方便app可以安装、卸载、重装
    • 可以共享传递数据

    那我们开始吧。

    和珠峰的公开课一样,我们打算这么做:

    • 准备两个vue项目,一个叫 parentVue ,一个叫 childVue
    • 让parentVue 能访问 childVue 项目,实现路由劫持

    这里我准备了一个git仓库,方便学习。https://gitee.com/xiaoxfa/learn-single-spa