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