lei*_*ifg 3 config loading elixir
我正在Elixir写一个小项目,我将使用内置的配置功能.它看起来像我有一个将调用API的一般项目:
API/confix.exs:
use Mix.Config
config :api, :status, "awesome"
Run Code Online (Sandbox Code Playgroud)
我现在有第二个应该利用这些变量的项目
api_consumer/mix.exs
def application do
[applications: [:logger, :api]]
end
Run Code Online (Sandbox Code Playgroud)
当我在api_consumer中运行一个控制台时,访问该变量会产生一个nil结果.
iex -S mix
iex(1)> Application.get_env(:api, :status)
=> nil
Run Code Online (Sandbox Code Playgroud)
根据我的理解(以及我在此阅读的内容)应该有效.
有谁知道这里发生了什么?
mix.exs用于配置当前应用程序,同时config.exs用于配置其他应用程序.在您的:api应用程序中,您应该将默认值放在application/0函数内mix.exs:
# api/mix.exs
def application do
[
applications: [:logger, :api],
env: [status: "awesome"]
]
end
Run Code Online (Sandbox Code Playgroud)
然后,您可以:api_consumer在config.exs文件中的应用程序中覆盖此设置:
# api_consumer/config/config.exs
config :api, status: "fantastic"
Run Code Online (Sandbox Code Playgroud)
更多信息可以在这里找到.
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |