# 微应用集成

对于平台型应用,可能会集成很多其他独立部署的应用,传统的做法是通过iframe嵌入的方式,但是这种方式存在很多问题。 低代码框架提供了微应用的引擎,能够将其他的低代码应用集成到当前主应用中,通过远程引用的方式来实现。微应用设计原则:确保功能独立,不依赖于主应用,独立部署,避免循环引用的场景。

举个例子,有个主应用,以及应用1(他们是独立部署,对接同一套 IAM),场景是需要在 主应用 中,集成 应用1 的页面,将功能进行重新组装。

# 主应用配置

要引用应用1的页面,需要在主应用的配置文件中,添加如下配置:

# application.yml
app:
  dengine:
    micro-app:
      enabled: true
      apps:
        - name: "app-1" # 可自定义,用于标识应用1
          base-url: "http://ip:port/app-1/"  # 应用1的根路径
          service-url: "http://ip:port/app-1/service"  # 应用1的 /service 路径
          config-url: "http://ip:port/app-1/config.json"  # 应用1的 /config.json 路径
          option-set-url: "http://ip:port/app-1/_meta/dict"  # 应用1的 /_meta/dict 路径

其中 http://ip:port/app-1 是指应用1的访问路径。以上这些配置路径地址可以通过浏览器的 network 面板,搜索关键字进行获取。

配置完成后,需要重启后端服务。

# 引用微应用页面

进入IDE,在新建页面的地方找到 新建引用页面, 选择远程模块 app-1 ,选择远程页面。

新建完成后,会在当前应用内创建一个引用页面,该引用页面是不允许更改的,因此无法拖拽组件到这个页面。

为了方便区分,页面标题建议加上标识来区分是远程页面,例如:app-1-页面名称(或者是通过文件夹来区分)。

细心的同学会发现,页面JSON中多了microApp字段, 这是引用型页面的特殊标记。

最后,可以在导航中或者内联渲染容器中引用上述页面了。

顶部