Elixir中的条件编译
我有一个Elixir模块,其中包含一个演示,我在开发和与其他系统的集成测试中使用它。我不希望为prod环境编译该模块。我是否可以使用mix/config的一些可爱技巧来确保此模块在某些环境下不可用?Phoenix解决此问题的方法是为Elixir中的条件编译,elixir,Elixir,我有一个Elixir模块,其中包含一个演示,我在开发和与其他系统的集成测试中使用它。我不希望为prod环境编译该模块。我是否可以使用mix/config的一些可爱技巧来确保此模块在某些环境下不可用?Phoenix解决此问题的方法是为mix.exs中的elixirc\u路径指定不同的值,以适应不同的环境。以下是实现这一目标的方法: def project do [ .., elixirc_paths: elixirc_paths(Mix.env), .., ] en
mix.exs
中的elixirc\u路径指定不同的值,以适应不同的环境。以下是实现这一目标的方法:
def project do
[
..,
elixirc_paths: elixirc_paths(Mix.env),
..,
]
end
defp elixirc_paths(:prod), do: ["lib"]
defp elixirc_paths(_), do: ["lib", "not-prod"]
现在,将您不希望出现在:prod
中的.ex
文件放入/not prod/
中(您可能希望对此使用更好的名称…)