首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails的uglifier应该uglify (破坏)函数名吗?

Rails的uglifier应该uglify (破坏)函数名吗?
EN

Stack Overflow用户
提问于 2012-09-16 20:32:34
回答 2查看 5.2K关注 0票数 4

我的.js文件被压缩了,变量也被损坏了,但函数名没有损坏(在Heroku上运行最新的Rails 3.2.8和最新的uglify 1.3.0gem)。

根据https://github.com/lautis/uglifier#usage的说法,"mangle“选项缺省为true。下面是我的配置。

来自production.rb:

代码语言:javascript
复制
config.assets.compress = true
config.assets.js_compressor  = :uglifier

我也试过

代码语言:javascript
复制
config.assets.compress = true
config.assets.js_compressor  = Uglifier.new(:mangle => true, :toplevel => true, :copyright => true)

但没有明显的区别。

正如一位评论者所建议的那样,我确实尝试过更改我的一个.js文件的内容,但没有起到什么作用。

来自Heroku上压缩的预编译.js文件输出的示例:

代码语言:javascript
复制
show_slideout_notification=function(){jQuery(".slideout_notification").slideDown();var e=$(".slideout_notification .countdown

似乎变量名被弄乱了,但函数名却没有。

你知道为什么函数名没有乱码吗?或者这是不想要的行为,因为它将很难从我的Rails/js代码中调用函数(即javascript onclick事件)。或者,如果函数名被损坏,这些onclick调用也会被重命名为损坏的名称吗?

谢谢:-)

EN

回答 2

Stack Overflow用户

发布于 2012-10-03 02:28:58

你有没有试过修改文件?根据this的说法,资产文件的生成基于文件修改时间。也许你的设置甚至没有被使用。

票数 0
EN

Stack Overflow用户

发布于 2013-12-16 11:19:15

不应该是这样的吗?

代码语言:javascript
复制
config.assets.js_compressor = Uglifier.new(:mangle => { :toplevel => true }, :output => { :comments => :copyright })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12446887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档