【发布时间】:2017-07-27 01:00:18
【问题描述】:
当我在本地运行我的 Phoenix 应用程序时,所有请求的基本 URL 类似于 http://localhost:4000。在生产中,它类似于https://example.com/。
我想将此基本 URL 传递给我的 JavaScript。我怎样才能得到它?
注意:
- 我不想检查
conn;这是我想在编译或启动期间而不是在请求时设置的内容。 - 我知道我可以检查
Application.get_env(:myapp, MyApp.Endpoint)[:url][:host] %,但这不包括方案(http或https)或端口。如果我必须从几个地方拼凑起来,我可能可以,但我宁愿不这样做。
【问题讨论】:
-
也许这并不简单,因为正如
dev.exs中生成的评论所说,“如果需要,http:和https:密钥都可以配置为同时运行 http 和 https 服务器不同的端口”? -
Phoenix 本身使用 Endpoint 配置和 Elixir 的内置
URI模块构建 URL:github.com/phoenixframework/phoenix/blob/…。