当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Elixir Config用法及代码示例


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 config/3 用于定义给定应用程序的键值配置。一旦 Mix 启动,它会自动评估配置文件并将上面的配置持久化到 :some_app 的应用程序环境中,可以通过以下方式访问:

"value1" = Application.fetch_env!(:some_app, :key1)

最后,import_config "#{config_env()}.exs" 行会根据当前配置环境导入其他配置文件,例如 config/dev.exsconfig/test.exs

Config 还在 Config.Reader 模块下提供了用于评估和读取配置的低级 API。

重要提示:如果您正在编写一个供其他开发人员使用的库,通常建议避免使用应用程序环境,因为应用程序环境实际上是一个全局存储。另请注意,当库用作依赖项时,不会评估库的config/config.exs,因为配置始终意味着配置当前项目。如需更多信息,请阅读我们的library guidelines

use Mix.Config 迁移

Elixir 中的 Config 模块是在 v1.9 中引入的,作为 Mix.Config 的替代品,该模块特定于 Mix 并且已被弃用。

您可以分三个步骤利用 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-lang.org大神的英文原创作品 Config。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。