# 自定义ui模块加载顺序

app/ui/modules下面可能存在多个扩展模块的情况,它们是从其他地方拷贝过来的。引擎在加载的时候,默认情况下,是按照文件系统扫描的结果进行输出,这种情况下无法保证顺序。

# 场景介绍

举个例子,有额外三个模块:

  • @cac/core
  • @cac/utils
  • @cac/project_system

其中 @cac/project_system 是依赖前面两个模块的。 如果按照引擎默认的扫描顺序,输出的结果如下:

显然,上面的输出结果不是我们想要的,因为顺序不正确,按照上面的输出结果,@cac/project_system 是无法正常加载的。

# 解决方案

为了确保上面的输出顺序,我们可以在 application.yml 里面定义他们的顺序。

app:
  dengine:
    ui:
      modules-order:
        - "@cac/core"
        - "@cac/system"
        - "@cac/project_system"

此时的输出顺序就是我们想要的:

顶部