【发布时间】:2018-02-01 15:06:10
【问题描述】:
我有一个 Elixir 模块,其中包含我在开发中使用的演示以及与其他系统的集成测试。我不希望为 prod 环境编译该模块。是否有一些关于 mix/config 的可爱技巧可以用来确保该模块在某些情况下不可用?
【问题讨论】:
标签: elixir
我有一个 Elixir 模块,其中包含我在开发中使用的演示以及与其他系统的集成测试。我不希望为 prod 环境编译该模块。是否有一些关于 mix/config 的可爱技巧可以用来确保该模块在某些情况下不可用?
【问题讨论】:
标签: elixir
Phoenix 解决这个问题的方法是针对不同的环境在mix.exs 中为elixirc_paths 指定不同的值。实现这一目标的方法如下:
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/ 中(您可能希望为此使用更好的名称...)。
【讨论】: