如何在Rails 4中缩小CSS?

Chl*_*loe 12 css ruby ruby-on-rails sass ruby-on-rails-4

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

配置/环境/ development.rb

  config.assets.debug = false
  config.assets.css_compressor = :sass
  config.assets.compile = true
Run Code Online (Sandbox Code Playgroud)

的Gemfile

group :assets do
  # Add any compass extensions here
  # Use SCSS for stylesheets
  gem 'sass-rails', '~> 4.0.0'
Run Code Online (Sandbox Code Playgroud)

参考

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

小智 24

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

production.rb

config.assets.css_compressor = :sass
Run Code Online (Sandbox Code Playgroud)

的Gemfile

gem 'sass-rails', '~> 4.0.0'    
Run Code Online (Sandbox Code Playgroud)

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

production.rb

config.assets.version = '1.1' # was '1.0'
Run Code Online (Sandbox Code Playgroud)

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


Ric*_*eck 7

预编译

您需要预编译资产

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

试试这个:

$ rake assets:precompile RAILS_ENV=production
$ git add .
$ git commit -a -m "Precompiled Assets"
$ git push heroku master
Run Code Online (Sandbox Code Playgroud)

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