Можно ли установить другой стиль выхода SASS для разработки и производства с компасом в рельсах?

StackOverflow https://stackoverflow.com/questions/2386014

Вопрос

Позвольте сказать, что я хотел бы установить вложенный стиль для развития и сжимается для производства. В файле конфигурации компаса есть только один вариант:

output_style = :compact # or :nested, :expanded, :compressed
Это было полезно?

Решение

Похоже, что это довольно легко:

output_style = RAILS_ENV == "production" ? :compressed : :nested

Чтобы проверить это, я запускаю эту задачу грабля в разных средах (мне пришлось изменить источник SASS перед запуском этой задачи):

namespace :sass do
  desc 'Updates stylesheets if necessary from their Sass templates.'
  task :update => :environment do
    Sass::Plugin.update_stylesheets
  end
end

Вы можете разместить эту задачу в Lib / Tasks / Sass.Rake.

Иначе у меня есть эта задача, работающая в моем Capistrano Deploy.rb для автоматического обновления таблиц стилей на производстве во время развертывания:

after 'deploy:restart', 'sass:update'

namespace :sass do
  desc 'Updates the stylesheets generated by Sass'
  task :update, :roles => :app do
    invoke_command "cd #{current_release}; rake sass:update RAILS_ENV=production"
  end
end

Другие советы

В дополнение к ответу Voldy я решил проблему, создав инициализатор под названием sass_config и помещать это в него:

Sass::Plugin.options[:style] = case RAILS_ENV
  when 'production' then :compressed
  when 'staging' then :compact
  when 'development' then :expanded
  else
    :nested
end
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top