Change compressor API so that plugins can register default compressors for their stylesheet or JS engines and still allow the user to turn off compression

This commit is contained in:
tomhuda
2011-05-23 23:32:34 -07:00
committed by wycats
parent 656e7b0807
commit 7eed5c0303
3 changed files with 11 additions and 5 deletions

View File

@@ -26,7 +26,8 @@ module Sprockets
# We need to configure this after initialization to ensure we collect
# paths from all engines. This hook is invoked exactly before routes
# are compiled.
# are compiled, and so that other Railties have an opportunity to
# register compressors.
config.after_initialize do |app|
assets = app.config.assets
next unless assets.enabled
@@ -57,8 +58,8 @@ module Sprockets
env.static_root = File.join(app.root.join("public"), assets.prefix)
env.paths.concat assets.paths
env.logger = Rails.logger
env.js_compressor = expand_js_compressor(assets.js_compressor)
env.css_compressor = expand_css_compressor(assets.css_compressor)
env.js_compressor = expand_js_compressor(assets.js_compressor) if app.assets.compress
env.css_compressor = expand_css_compressor(assets.css_compressor) if app.assets.compress
env
end

View File

@@ -21,4 +21,7 @@
# Only use best-standards-support built into browsers
config.action_dispatch.best_standards_support = :builtin
# Do not compress assets
config.assets.compress = false
end

View File

@@ -11,9 +11,11 @@
# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false
# Compress both stylesheets and JavaScripts
# Compress JavaScripts and CSS
config.assets.compress = true
# Specify the default JavaScript compressor
config.assets.js_compressor = :uglifier
config.assets.css_compressor = :scss
# Specifies the header that your server uses for sending files
# (comment out if your front-end server doesn't support this)