铁路专家的快速问题
当使用Rails 3.0.x应用程序时,我是Guard和LiveReload的重用户.然而,似乎在Rails 3.1中使用资产管道时,livereload guard不知道对Sass文件的更改会触发向浏览器发送新的CSS.
有人使用LiveReload与资产管道?如果是这样,你怎么让它工作?
谢谢!
解决方法
在Github上关注了一些问题之后,我发现以下内容修复了我的问题:
1)确保所有scss文件按照新的资产约定命名,如:filename.css.scss
我在Rails 3.1之前使用scss,并刚刚命名了我所有的sass文件filename.scss.
2)在保护文件中使用以下命令进行生效:
guard 'livereload' do watch(%r{app/helpers/.+\.rb}) watch(%r{app/views/.+\.(erb|haml)}) watch(%r{(public/).+\.(css|js|html)}) watch(%r{app/assets/stylesheets/(.+\.css).*$}) { |m| "assets/#{m[1]}" } watch(%r{app/assets/javascripts/(.+\.js).*$}) { |m| "assets/#{m[1]}" } watch(%r{lib/assets/stylesheets/(.+\.css).*$}) { |m| "assets/#{m[1]}" } watch(%r{lib/assets/javascripts/(.+\.js).*$}) { |m| "assets/#{m[1]}" } watch(%r{vendor/assets/stylesheets/(.+\.css).*$}) { |m| "assets/#{m[1]}" } watch(%r{vendor/assets/javascripts/(.+\.js).*$}) { |m| "assets/#{m[1]}" } watch(%r{config/locales/.+\.yml}) end