【发布时间】:2017-03-30 17:46:06
【问题描述】:
据我所知,在编译期间评估的模块属性。我试图关注 post 关于在 Elixir 中模拟 API 的内容:
defmodule Example.User do
@github_api Application.get_env(:example, :github_api)
def get(username) when is_binary(username) do
@github_api.make_request(:get, "/users/#{username}")
end
end
我想知道这是否会在生产中起作用。据我了解,编译此模块时无法访问应用程序。所以我的问题是:我可以使用模块属性来存储来自Application.get_env 的一些配置值吗?
【问题讨论】:
-
我相信你可以而且你应该
-
是的,您可以,而且没有任何问题。但是
github_api的值必须在编译时对您的应用程序可用。如果您已经在 env 文件中指定了它,它应该可以正常工作。
标签: module elixir phoenix-framework