Как уменьшить CSS в Rails 4?

Я попробовал следующее, однако я смотрю на источник CSS, и он не минимизирует! Я перезапустил сервер несколько десятков раз. Я отключил кеш в браузере. Я также попробовал жемчужину "юй-компрессор".

конфигурации/среда /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

Ответ 1

У меня была такая же проблема в моей рабочей среде, где я не мог заставить CSS минимизировать развертывание в Heroku. После включения сжатия:

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 прекомпилирует ваши активы после нажатия, без необходимости обновления версии активов.

Ответ 2

Прекомпиляция

Вам необходимо предварительно скомпоновать активы

Rails минимизирует ваши активы, если вы их предварительно скопируете. Это только для производства, но означает, что вы можете использовать такие файлы, как application.js и application.css с мини-кодом

Попробуй это:

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

Это позволит предварительно скомпоновать (и минимизировать) ваши активы, позволяя использовать скомпилированные файлы в производстве

Ответ 4

Это было неудачно для меня, потому что у меня был image-url("/img/header/gradient.png") вместо image-url("img/header/gradient.png"). Мораль: не используйте косую черту в начале пути.