【问题标题】:Elixir/Phoenix change livereload endpointElixir/Phoenix 更改 livereload 端点
【发布时间】:2017-11-14 07:46:46
【问题描述】:

我正在为 nginx 代理后面的应用程序提供服务,并希望保留 phoenix 实时重新加载功能。问题在于:

<iframe src="/phoenix/live_reload/frame" style="display: none;"></iframe>

添加到主 html 中。我需要将其更改为:

<iframe src="/new_url/phoenix/live_reload/frame" style="display: none;"></iframe>

我已经检查了端点,并尝试像这样进行更改:

if code_reloading? do
  socket "/new_url/phoenix/live_reload/socket", Phoenix.LiveReloader.Socket
  plug Phoenix.LiveReloader
  plug Phoenix.CodeReloader
end

但它似乎并没有改变 iframe 网址。然后我在我的部门中找到了livereloader.ex,我猜它允许使用config设置url。

有人能说明我应该如何设置它的网址吗?提前致谢。

更新了config/dev.exs,但似乎不起作用。正如@PatNowak 所指出的,url 似乎设置了主机和端口,但不是url。

最后: 我相信如下建议的设置 url 会更改套接字 url,但实际上不会更改 iframe src。我现在将删除代理以保持实时重新加载。

【问题讨论】:

  • 尝试在config/dev.exs 配置行的patterns: [...] 之后添加url: "/new_url/phoenix/live_reload/socket"
  • 嘿@Dogbert,我已经添加了它,但不幸的是它似乎没有改变网址。
  • 更改配置后是否重启了服务器?您可以将更新的配置添加到问题中吗?
  • 是的,重启了服务器。但正如@PatNowak 所指出的,我可能对 url 有误,该行设置了主机和端口,但不是 url。请看看他的回答
  • 旁注:请使用代码块发布代码,而不是截图。这是一个通用的 SO 规则,在 ToS 中有明确规定。

标签: elixir phoenix-framework


【解决方案1】:

您找到了一个设置了config[:url] 的地方,但您错过了live_reloader.ex 中的评论。请检查that 行。展示了这个 url 的外观。

【讨论】:

  • 嘿,谢谢你的链接!我试过这样做,但它似乎只设置主机/端口而不是之后的 url 部分,即使我像这样传递它:`url:“ws://localhost:8080/new_url/”`它仍然重启服务器时返回标准路径
猜你喜欢
  • 1970-01-01
  • 2019-10-03
  • 1970-01-01
  • 2018-05-22
  • 1970-01-01
  • 1970-01-01
  • 2017-02-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多