使用 Sprockets 丑化 JavaScript 代码

Uglify JavaScript code with Sprockets

我的项目是在 Rails 2 中构建的,并已升级到 Rails 3.1,所以我在资产管道配置方面遇到了麻烦,例如预编译。

我正在使用 app/assets/aplication.js,例如:

//= require jquery 
//= require jquery_ujs

我的 application.rb 是:

config.assets.js_compressor = :uglifier

我的 Gemfile 包含丑化 gem:

gem 'uglifier'

之后我执行了:

rake assets:precompile

并且 public/assets/application.js 的结果代码没有被丑化,但是当我把这个配置放在 application.rb 上时:

config.assets.compress = true

文件被丑化了。

config.assets.compress配置不是用来做实时编译的吗?为什么我的预编译 rake 只在启用此选项时变丑?

压缩就是丑化。如果您没有该选项,则 compressing/uglifying 不会发生。如果您希望丑化发生,请启用该选项。