我正在尝试使用守卫livereload和守卫指南针。这是我的文件
# More info at https://github.com/guard/guard#readme
guard 'compass' do
watch('^sass/(.*)\.s[ac]ss')
end
guard 'livereload' do
watch(%r{.+\.(css|html|js)$})
end
# This will concatenate the javascript files specified in :files to public/js/all.js
#guard :concat, type: "js", files: %w(), input_dir: "public/js", output: "public/js/all"
#guard :concat, type: "css", files: %w(), input_dir: "public/css", output: "public/css/all"
#guard 'uglify', :destination_file => "public/javascripts/application.js" do
# watch (%r{app/assets/javascripts/application.js})
#end
当我开始防范,没有启用chrome live reload扩展时,我的sass文件被编译并且运行良好。
但是当我启用livereload扩展时,我的终端说浏览器已连接,然后当我在我的sass文件中进行更改时,没有任何反应(页面重新加载,也没有编译sass文件)。
有没有人有任何想法?
答案 0 :(得分:1)
目前,我正在窗户中推出两个终端,一个在我做指南针监视的地方,一个在我守卫的地方(我评论了GuardFile的指南针部分)。
如果有人有更好的解决方案
答案 1 :(得分:1)
这就是我如何做到并完美运作。
puts "Using default guard file."
group :development do
if File.exists?("./config.rb")
# Compile on start.
puts `compass compile --time --quiet`
# https://github.com/guard/guard-compass
guard :compass do
watch(%r{(.*)\.s[ac]ss$})
end
end
guard :livereload, :host => '127.0.0.1', :port => '35729', :grace_period => 0.5 do
watch(%r{.+\.(css|js|html?|php|inc|theme)$})
end
end
所有这一切都告诉Compass我的config.rb在哪里...哪个位于我保存Guardfile的网站底部。然后它有罗盘编译SCSS。 不确定你的情况,但在我的情况下,我需要设置主机和端口,使其顺利运行。但基本上看守会看到一个变化,一旦罗盘输出css文件LiveReload注意到变化,然后重新加载该文件。很简单。
我确定你已经知道但是将所有正确的Gems添加到你的Gemfile中,在你的项目上运行'bundle'然后使用$ guard
启动Guard在浏览器中确保点击LiveReload按钮,它会在终端中告诉您浏览器已连接并离开。
希望有所帮助。