我已经成功安装了带haml和livereload插件的后卫。在正在运行的后卫shell中,当两者都在运行时,如果我按下回车键,haml成功编译为html,然后提供给一个监听浏览器。
但是,当只编辑haml文件并保存更改时,livereload只需使用生成的.html重新加载浏览器。它不会重新编译.haml - > .html,然后将其提供给浏览器。
我的Guardfile如下。我在这个设置中缺少什么? i)在后卫shell中,按Enter compiles然后提供生成的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项目。只使用原始守卫,守卫哈姆& guard-livereload gems
答案 0 :(得分:1)
在Thibaud('后卫'作者)的帮助下,我得到了这个工作。基本上,我在提供文件的目录下运行警卫。
我的项目树看起来像“ root / public / css / etc ”,我在“ root ”下运行后卫,并设置“ public < / strong>“作为要监视的目录(guard -w public /)。但我更新并将Guardfile移动到public /,并从那里开始守卫。现在haml正在编译并根据需要提供服务。
guard 'haml' do
watch(/^.+\.html\.haml$/)
end
guard 'livereload' do
watch(/^.+\.html$/)
end