Как уменьшить 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
Это позволит предварительно скомпоновать (и минимизировать) ваши активы, позволяя использовать скомпилированные файлы в производстве
Ответ 3
Это работает со мной rails-html-css-js-gzip-compression на Ruby 2.2.0 - Rails 4.2.0
Ответ 4
Это было неудачно для меня, потому что у меня был image-url("/img/header/gradient.png")
вместо image-url("img/header/gradient.png")
. Мораль: не используйте косую черту в начале пути.