我的.js文件被压缩了,变量也被损坏了,但函数名没有损坏(在Heroku上运行最新的Rails 3.2.8和最新的uglify 1.3.0gem)。
根据https://github.com/lautis/uglifier#usage的说法,"mangle“选项缺省为true。下面是我的配置。
来自production.rb:
config.assets.compress = true
config.assets.js_compressor = :uglifier我也试过
config.assets.compress = true
config.assets.js_compressor = Uglifier.new(:mangle => true, :toplevel => true, :copyright => true)但没有明显的区别。
正如一位评论者所建议的那样,我确实尝试过更改我的一个.js文件的内容,但没有起到什么作用。
来自Heroku上压缩的预编译.js文件输出的示例:
show_slideout_notification=function(){jQuery(".slideout_notification").slideDown();var e=$(".slideout_notification .countdown似乎变量名被弄乱了,但函数名却没有。
你知道为什么函数名没有乱码吗?或者这是不想要的行为,因为它将很难从我的Rails/js代码中调用函数(即javascript onclick事件)。或者,如果函数名被损坏,这些onclick调用也会被重命名为损坏的名称吗?
谢谢:-)
发布于 2012-10-03 02:28:58
你有没有试过修改文件?根据this的说法,资产文件的生成基于文件修改时间。也许你的设置甚至没有被使用。
发布于 2013-12-16 11:19:15
不应该是这样的吗?
config.assets.js_compressor = Uglifier.new(:mangle => { :toplevel => true }, :output => { :comments => :copyright })https://stackoverflow.com/questions/12446887
复制相似问题