uglifier不能在rails中工作

时间:2011-09-10 11:36:06

标签: ruby-on-rails-3 asset-pipeline

config/application.rb
...
# Enable the asset pipeline
config.assets.enabled = true
# Version of your assets, change this if you want to expire all your assets
config.assets.version = '1.0'
config.assets.digest = true
config.assets.paths << "#{Rails.root}/vendor/assets/images" 
...


config/environment.rb
...
ENV['RAILS_ENV'] ||= 'production'
...

My gemfile
...
gem 'uglifier'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails', "  ~> 3.1.0"
  gem 'coffee-rails', "~> 3.1.0"
  #gem 'uglifier'
end
...

environment/production.rb
....
    config.active_support.deprecation = :notify
    config.assets.enabled = true
    config.assets.js_compressor  = :uglifier
    config.assets.css_compressor = :scss
    config.assets.compress = false
...

我在app / assets / javascripts中有我的javascript文件。我的javascript文件没有被压缩。按照此网址http://dev.mensfeld.pl/category/rails3/进行锻炼压缩。

感谢您的任何指示。

3 个答案:

答案 0 :(得分:10)

在environment / production.rb中:

...
config.assets.compress = true
...

答案 1 :(得分:8)

我有同样的问题,&amp;经过多次撕裂,发现你必须更改资产文件才能触发压缩。

似乎压缩依赖资产文件mtime,这是有道理的,因为资产管道打算克服的问题之一是(来自Rails guide):

  

...当每个新版本的代码部署静态资产时,所有这些文件的mtime都会发生变化,迫使所有远程客户端再次获取它们,即使这些资产的内容没有发生变化也是如此。

答案 2 :(得分:2)

使用此命令:

rake RAILS_ENV=production RAILS_GROUP=assets assets:precompile