E 'possibile impostare diversi stile di uscita SASS per lo sviluppo e la produzione con la bussola in Rails?

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

Domanda

Let dire vorrei impostare stile nidificato per lo sviluppo e compresso per la produzione. C'è solo un'opzione nel file di configurazione Bussola:

output_style = :compact # or :nested, :expanded, :compressed
È stato utile?

Soluzione

Sembra che è abbastanza facile:

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

Per controllare lo ho eseguito questo compito rastrello in ambienti diversi (ho dovuto cambiare fonte sass prima di eseguire questo compito):

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

È possibile posizionare questo compito in lib / task / sass.rake.

Else ho questo compito in esecuzione nel mio deploy.rb Capistrano a automaticamente i fogli di stile aggiornamento sulla produzione durante la distribuzione:

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

Altri suggerimenti

In aggiunta alla risposta di Voldy ho risolto il problema creando un inizializzatore chiamato sass_config e mettere questo in esso:

Sass::Plugin.options[:style] = case RAILS_ENV
  when 'production' then :compressed
  when 'staging' then :compact
  when 'development' then :expanded
  else
    :nested
end
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top