保护实时重新加载不向页面注入css更改。 Sinatra应用程序

时间:2014-01-12 11:35:46

标签: css sinatra sass reload guard

我有一个使用rack-livereload和guard-livereload宝石的sinatra应用程序。

guard 'livereload' do
  watch(%r{views/.+\.(erb|haml|slim)$})
  watch(%r{.+\.(css|js)$})
end

当我更改我的erb文件时,浏览器会重新加载。它按预期工作。

我正在使用sass gem为我的CSS。

当我对.scss文件进行更改时,css没有更新。在刷新页面之前,更改在浏览器中不可见。 sass正在运行 - 但是没有被主动重新加载。

知道我是如何设置的吗?

2 个答案:

答案 0 :(得分:0)

看起来它没有重新加载,因为watch语句中的正则表达式只查找以.css或.js结尾的文件。如果要确保包含.scss文件,只需将watch语句更改为:

watch(%r{.+\.(css|scss|js)$})

答案 1 :(得分:0)

页面中缺少的另一个样式表(404)阻止了livereload为我的情况工作,它不是关注的样式表,但是它阻止了livereload检测到我正在进行的更改。