Skip to content

【llbc】Component Config 支持 Extend Config Files #520

@lailongwei

Description

@lailongwei
<Comp name="XxxComp">
    <__ExtendConfigFiles>
        <__ExtendConfigFile notFoundAsError="true" formatErrorAsError="true" enableOnInit="true" enableOnReload="true">/path/to/extend_config_file</__ExtendConfigFile>
    </__ExtendConfigFiles>
</Comp>

配置说明(配置项名__前缀用于 llbc 框架内部,开发者不应该使用,且框架不检测冲突,如开发者自定义配置项也使用 llbc 框架保留配置项 key,结果将是未定义):

  • __ExtendConfigFiles:用于配置扩展配置文件列表
  • __ExtendConfigFile:用于配置扩展配置文件路径,有两个可选参数:
    • notFoundAsError:如未找到,是否当成配置加载错误,使用Loose-Bool格式解析,默认:true
    • formatErrorAsError :如配置格式错误,是否当成配置加载错误,使用Loose-Bool格式解析,默认:true
    • enableOnInit:是否在 App Init 时启用,默认:true
    • enableOnReload:是否在 App Reload 时启用,默认:true

注:

  • 如 Reload 阶段找不到配置文件,且不认为是错误,则此扩展配置会清除
  • 如 Reload 阶段找到配置文件但格式错误,且不认为是错误,则此扩展配置会清除
  • enableOnInit为true、但enableOnReload为false,则 Reload 阶段,不会丢失此配置文件扩展数据,只是不更新

扩展配置文件路径搜索算法:

  • 绝对路径:配置成绝对路径,直接支持
  • 相对路径:配置成相对路径,按以下顺序搜索(同时也是优先级)
    • 目录 + 相对路径 方式搜索 并加载:
      • 目录列表(按此顺序):
        • 当前进程主配置文件路径中的 Dir 部分
        • 当前目录(CWD
        • 未 read link 的进程主映像文件目录(No Read Link Main Module File Name
        • 已 read link 的进程主映像文件目录(Read Link Main Module File Name
      • 相对路径列表(按此顺序):
        • 配置的相对路径
        • 相对路径中的 Dir 部分 + 未 Read Link 的进程主映像文件名 + _/- + 相对路径中的 Name 部分
        • 相对路径中的 Dir 部分 + 相对路径中的 Name 部分 + _/- + 未 Read Link 的进程主映像文件名
        • 相对路径中的 Dir 部分 + 已 Read Link 的进程主映像文件名 + _/- + 相对路径中的 Name 部分
        • 相对路径中的 Dir 部分 + 相对路径中的 Name 部分 + _/- + 已 Read Link 的进程主映像文件名
        • 相对路径中的 Dir 部分 + 进程主配置文件路径中的 Name 部分(去除 Extension) + _/- + 相对路径中的 Name 部分
        • 相对路径中的 Dir 部分 +相对路径中的 Name 部分 + _/- + 进程主配置文件路径中的 Name 部分(去除 Extension)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions