rails 3.1默认为js minification的一个名为uglifier的伟大宝石。
要启用它,我们只需要调用
config.assets.js_compressor = :uglifier
我正在使用另一个项目,rails 3.0,我也想使用相同的gem。我搜索了一些信息,但我找不到任何方向。我在rdoc找到的东西是
require 'uglifier'
Uglifier.new.compile(File.read("source.js"))
# => js file minified
我可以写一个rake任务来执行它,没关系,但还有其他方法吗?
更新
我正在使用咖啡师和咖啡因,所以也许我可以添加一些东西给咖啡师生成已经缩小的js
答案 0 :(得分:1)
Barista有钩子。如果你查看你的config / initializers / barista_config.rb,它会告诉你所有的钩子是什么。所以,例如,我决定不使用Jammit,而是使用JSMin gem缩小。在我的barista_config.rb中,我把它放在:
Barista.configure do |c|
c.on_compilation do |path|
if Rails.env.production?
puts "+++ Barista: Compressing #{path} for production environment +++"
compressible = File.read(path)
File.open(path, 'w'){|f| f.write(JSMin.minify(compressible))}
end
end
end