如何处理长生不老药伞应用程序中的多个应用程序配置文件

How to deal with multiple application config files in elixir umbrella application

我有一个长生不老药伞应用程序 (A),它下面有多个应用程序。其中之一 (B) 被定义为单独的存储库,并包含其自己的配置 (config/config.exs) 文件,大部分具有默认值。

将应用程序B 添加到A 并启动保护伞应用程序时,未加载应用程序B 的配置。看起来我需要在 A 配置中明确包含 B 的所有配置参数。

我希望应用程序 B 的配置在应用程序 A 中仍然可用,我只需要覆盖一些特定值。

任何人都可以向我解释如何在不在主应用程序 (A) 配置文件中再次指定所有配置参数的情况下实现它吗?

使用 mix new --umbrella 生成的伞式应用程序应自动包含所有应用程序的配置。

your_project/apps/app_a/mix.exs中应该配置为从伞根读取配置:

 build_path: "../../_build",
 config_path: "../../config/config.exs",
 deps_path: "../../deps",
 lockfile: "../../mix.lock",

并且在 your_project/config/config.exs 中,它应该包括所有应用程序配置:

use Mix.Config

# By default, the umbrella project as well as each child
# application will require this configuration file, ensuring
# they all use the same configuration. While one could
# configure all applications here, we prefer to delegate
# back to each application for organization purposes.
import_config "../apps/*/config/config.exs"