V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cl903254852
V2EX  ›  程序员

single-spa 做微前端遇到一个问题

  •  
  •   cl903254852 · 2019-11-04 11:52:14 +08:00 · 5426 次点击
    这是一个创建于 1876 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我用 single-spa + React 搭建微前端。

    现在遇到一个可能比较低级的问题:

    single-spa 建议所有的应用之间应该是兄弟关系,而不应该是父子嵌套关系。 那么问题来了:

    主应用包含 Menu、Header,而我需要在图中的 Content 组件中来加载子应用,我该怎么办?

    13 条回复    2019-12-18 15:47:14 +08:00
    sparkinglemon
        1
    sparkinglemon  
       2019-11-04 13:06:14 +08:00
    iframe,shadow dom,看你需要的兼容性和实际业务需求
    sparkinglemon
        2
    sparkinglemon  
       2019-11-04 13:07:43 +08:00
    content 内部使用 router 拆出去?
    Fawen
        3
    Fawen  
       2019-11-04 13:21:56 +08:00
    content 里面用路由就行了
    dartabe
        4
    dartabe  
       2019-11-04 13:23:25 +08:00
    把 menu 和 content 合起来写子组件里面
    dartabe
        5
    dartabe  
       2019-11-04 13:25:58 +08:00
    错了 可以用这种路由 /content/:id 把 nav1 nav2 nav3 id 传过去 或者用 path 类传一个 state 过去
    howel52
        6
    howel52  
       2019-11-04 13:33:25 +08:00
    推荐一个基于 single-spa 的上层封装 [qiankun]( https://github.com/umijs/qiankun)
    cl903254852
        7
    cl903254852  
    OP
       2019-11-04 14:12:46 +08:00
    @sparkinglemon 需求就是上面说的。你说的我没怎么明白
    cl903254852
        8
    cl903254852  
    OP
       2019-11-04 14:13:52 +08:00
    @Fawen 实不相瞒,content 里面就是用的路由。现在问题是 content 是用来装子应用的,那子应用的挂载 dom 应该放哪
    cl903254852
        9
    cl903254852  
    OP
       2019-11-04 14:15:13 +08:00
    @howel52 👌 我来看看
    DiamondYuan
        10
    DiamondYuan  
       2019-11-04 14:17:09 +08:00
    @howel52 +1 推荐 qiankun
    howel52
        11
    howel52  
       2019-11-04 19:40:58 +08:00
    @DiamondYuan 手动狗头
    kuitos
        12
    kuitos  
       2019-11-18 23:37:37 +08:00
    @DiamondYuan +1 推荐 qiankun
    rioshikelong121
        13
    rioshikelong121  
       2019-12-18 15:47:14 +08:00
    我的问题和你类似 我直接把子应用的挂载 DOM 放在主应用渲染出来的 DOM 里面了。
    哥们你目前用的是 qiankun 还是 single-spa?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3336 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:27 · PVG 19:27 · LAX 03:27 · JFK 06:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.