我想弄清楚为什么菲尼克斯大部分时间都会重新加载,但并非总是如此。
我的config.exs
有:
# Watch static and templates for browser reloading.
config :bespoke_work, BespokeWork.Web.Endpoint,
live_reload: [
patterns: [
~r{priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$},
~r{priv/gettext/.*(po)$},
~r{lib/bespoke_work/web/views/.*(ex)$},
~r{lib/bespoke_work/web/templates/.*(eex)$}
]
]
每当我编辑其中一个以*.html.eex
结尾的模板时,它通常会立即生效。但有时却没有。当实时重新加载不起作用时,无论我尝试刷新页面/清除缓存或跳萨尔萨舞多少次,它都不会刷新内容。
我的文件夹结构如下:
/name/lib/name/web/templates/page
|-index.html.eex
|-menu.html.eex
|-module[1-5].html.eex
(有五个模块文件,第一个是module1.html.eex等等)
文件是不是直接在templates
文件夹下的问题? (它们位于templates/page
文件夹中)
index.html
在layout/app.html.eex
布局中呈现,并且在index
文件内,有调用呈现menu
和其他模块。
不确定我在这里缺少什么。
我尝试手动运行mix phx.digest
,它没有任何区别(它已经在需要时被触发)。
如何解决此问题?
Phoenix 1.3.0-rc.2
Phoenix Live Reload 1.0.8
Elixir 1.4.5
Erlang / OTP 20
Impaciência10
答案 0 :(得分:0)
我找到了罪魁祸首:Spacemacs lock files。
由于我的工作流程的一部分是使用前端规格,有时我需要按像素调整内容或进行其他一些小调整(并且非常快速):就像你注意到你有一个错字或什么的。
在这些情况下,似乎会发生以下情况:
虽然我仍然无法理解为什么只是刷新屏幕(在Chrome上禁用浏览器缓存)不会显示正确的代码。