【发布时间】:2011-09-26 19:13:54
【问题描述】:
我已经成功安装了带有haml 和livereload 插件的guard。在一个正在运行的保护壳中,当两者都在运行时,如果我按回车键,haml 会成功编译为 html,然后提供给监听浏览器。
但是,当仅编辑 haml 文件并保存更改时,livereload 只会使用生成的相同 .html 重新加载浏览器。它不会重新编译 .haml -> .html,然后将其提供给浏览器。
我的 Guardfile 在下面。我在这个设置中缺少什么? i) 在保护壳中,按回车编译然后提供生成的 html。 ii)但是在haml文件中保存更改只提供旧的html,而不编译haml。
guard 'haml', :input => 'public', :output => 'public' do
watch(%r{^public/.+\.html\.haml})
end
guard 'livereload' do
watch(%r{.+\.(css|js|html)})
end
谢谢
ps - 这不是一个 Rails 项目。只使用 raw guard、guard-haml 和 guard-livereload gems
【问题讨论】:
-
您确定保存时HTML文件没有改变吗? LiveReload 似乎配置为仅对 css/js/html 文件更改起作用,因此如果在保存 HAML 时重新加载浏览器,则意味着 HTML 已更改。
-
是的,我注意到了。 1) haml 没有被编译成 html,但是 2) html 文件仍在被提供(意味着文件以某种方式被触及)。这就是令人费解的地方。
-
感谢您的反馈。我早些时候尝试更新此问题,但 SO 不允许初级用户在 8 小时内回答他们自己的 Q。问题实际上与guard-haml有关,我确实在那里记录了一个问题:github.com/manufaktor/guard-haml/issues/3