Elixir语言中 Config
相关用法介绍如下。
一个简单的基于关键字的配置 API。
示例
该模块最常用于定义应用程序配置,通常在 config/config.exs
中:
import Config
config :some_app,
key1: "value1",
key2: "value2"
import_config "#{config_env()}.exs"
import Config
将导入函数
、 config/2
config/3
、 config_env/0
和 config_target/0
以帮助您管理配置。import_config/1
和 config/2
用于定义给定应用程序的键值配置。一旦 Mix 启动,它会自动评估配置文件并将上面的配置持久化到 config/3
:some_app
的应用程序环境中,可以通过以下方式访问:
"value1" = Application.fetch_env!(:some_app, :key1)
最后,import_config "#{config_env()}.exs"
行会根据当前配置环境导入其他配置文件,例如 config/dev.exs
和 config/test.exs
。
还在 Config
模块下提供了用于评估和读取配置的低级 API。Config.Reader
重要提示:如果您正在编写一个供其他开发人员使用的库,通常建议避免使用应用程序环境,因为应用程序环境实际上是一个全局存储。另请注意,当库用作依赖项时,不会评估库的config/config.exs
,因为配置始终意味着配置当前项目。如需更多信息,请阅读我们的library guidelines。
从 use Mix.Config
迁移
Elixir 中的
模块是在 v1.9 中引入的,作为 Config
的替代品,该模块特定于 Mix 并且已被弃用。Mix.Config
您可以分三个步骤利用
而不是Config
。第一步是将配置文件顶部的 Mix.Config
use Mix.Config
替换为 import Config
。
第二个是确保您的
调用没有通配符。如果是这样,您需要手动执行通配符查找。例如,如果您这样做:import_config/1
import_config "../apps/*/config/config.exs"
它必须替换为:
for config <- "../apps/*/config/config.exs" |> Path.expand(__DIR__) |> Path.wildcard() do
import_config config
end
最后一步是将所有 Mix.env()
调用替换为 config_env()
。
配置/运行时.exs
对于运行时配置,您可以使用config/runtime.exs
文件。它在应用程序在 Mix 和发布(与
组装)中启动之前执行。mix release
相关用法
- Elixir Config.config_env用法及代码示例
- Elixir Config.config用法及代码示例
- Elixir Config.Reader用法及代码示例
- Elixir Config.Reader.merge用法及代码示例
- Elixir Config.import_config用法及代码示例
- Elixir Config.Provider用法及代码示例
- Elixir Config.config_target用法及代码示例
- Elixir Code.prepend_path用法及代码示例
- Elixir Code.compiler_options用法及代码示例
- Elixir Code.quoted_to_algebra用法及代码示例
- Elixir Code.put_compiler_option用法及代码示例
- Elixir Code用法及代码示例
- Elixir Code.ensure_compiled用法及代码示例
- Elixir Code.format_string!用法及代码示例
- Elixir Code.required_files用法及代码示例
- Elixir Collectable用法及代码示例
- Elixir Code.get_compiler_option用法及代码示例
- Elixir Code.Fragment.cursor_context用法及代码示例
- Elixir Code.available_compiler_options用法及代码示例
- Elixir Code.ensure_loaded?用法及代码示例
- Elixir Code.eval_quoted用法及代码示例
- Elixir Code.require_file用法及代码示例
- Elixir Code.Fragment.container_cursor_to_quoted用法及代码示例
- Elixir Code.Fragment.surround_context用法及代码示例
- Elixir Code.delete_path用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Config。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。