我的 .js 文件被压缩并且变量被破坏,但函数名称在 Heroku 上没有被破坏(运行最新的 Rails 3.2.8 和最新的 uglify 1.3.0 gem)。
根据https://github.com/lautis/uglifier#usage https://github.com/lautis/uglifier#usage“mangle”选项默认为 true。下面是我的配置。
来自生产.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 调用也会被重命名为被破坏的名称吗?
谢谢 :-)
您是否尝试过修改该文件?根据this https://stackoverflow.com/questions/7371432/uglifier-not-working-in-rails资产文件的生成基于文件修改时间。也许您的设置甚至没有被使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)