Ответ 1
Вы можете просто определить значение конфигурации для среды:
config/prod.exs
config :my_app, :environment, :prod
config/dev.exs
config :my_app, :environment, :dev
Затем вы можете проверить это значение, используя Application.get_env/3
if Application.get_env(:my_app, :environment) == :dev do
Однако я бы рекомендовал предоставить этот контекст. Предположим, вы хотите условно применить подключаемый модуль проверки подлинности, вы можете установить конфигурацию:
config :my_app, MyApp.Authentication,
active: true
if Application.get_env(:my_app, MyApp.Authentication) |> Keyword.get(:active) do
#add the plug
Таким образом, ваши условия основаны на функциях, а не на среде. Вы можете включать и выключать их независимо от среды.