當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。