如何在Rails 4中缩小CSS?

我尝试了以下内容,但是我看看CSS源代码并没有缩小! 我重启了服务器几十次。 我在浏览器中关闭了缓存。 我也试过’yui-compressor’gem。

配置/环境/ development.rb

config.assets.debug = false config.assets.css_compressor = :sass config.assets.compile = true 

的Gemfile

 group :assets do # Add any compass extensions here # Use SCSS for stylesheets gem 'sass-rails', '~> 4.0.0' 

参考

http://edgeguides.rubyonrails.org/asset_pipeline.html#customizing-the-pipeline

WEBrick 1.3.1,ruby 2.0.0(2013-06-27)[i386-mingw32],Rails 4.0.3

我在生产环境中遇到了同样的问题,在部署到Heroku时我无法将CSS缩小。 使用以下内容打开压缩后:

production.rb

 config.assets.css_compressor = :sass 

的Gemfile

 gem 'sass-rails', '~> 4.0.0' 

我设法通过更新资产版本来缩小它:

production.rb

 config.assets.version = '1.1' # was '1.0' 

之后做了一些测试,我发现更新源CSS / SASS具有相同的效果。 因此,请尝试更新样式表(而不是仅配置),这样可以在推送后Heroku预编译资产时“启动”缩小过程,而无需更新资产版本。

预编译

您需要预编译资产

如果您预先编译它们,Rails会缩小您的资产。 这仅适用于生产,但意味着您可以使用带有缩小代码的application.jsapplication.css等文件

试试这个:

 $ rake assets:precompile RAILS_ENV=production $ git add . $ git commit -a -m "Precompiled Assets" $ git push heroku master 

这将预编译(和缩小)您的资产,允许您在生产中使用已编译的文件

这适用于Ruby 2.2.0上的rails-html-css-js-gzip-compression – Rails 4.2.0

这对我来说是失败的,因为我有image-url("/img/header/gradient.png")而不是image-url("img/header/gradient.png") 。 道德:不要在路径的开头使用斜线。