首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我应该使用YUI Compressor还是新的Google Closure编译器来压缩我的JavaScript?

我应该使用YUI Compressor还是新的Google Closure编译器来压缩我的JavaScript?
EN

Stack Overflow用户
提问于 2009-11-06 17:23:09
回答 5查看 20.1K关注 0票数 52

YUI Compressor是公认的最小化最好的工具,但闭包似乎可以更好。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-06 17:32:50

“无论你找到哪个最适合你的”,我认为这是目前的普遍答案- YUI已经存在的时间更长了,所以毫无疑问,它将是目前公认的最好的工具。而闭包对我们来说是新的--所以没有像YUI那样丰富的闭包经验。因此,我认为你不会仅仅因为闭包是新的,就根据人们的经验找到一个令人信服的理由来解释为什么要使用闭包。

这并不是说你不应该使用Closure....just,我的意思是,我不认为这个问题的答案是可用的,直到许多人使用了2并对它们进行了比较。

编辑:有几个早期的比较,说闭包确实带来了改进:http://blog.feedly.com/2009/11/06/google-closure-vs-yui-min/

http://news.ycombinator.com/item?id=924426

进一步编辑:值得关注关闭的问题列表:http://code.google.com/p/closure-compiler/issues/list

票数 28
EN

Stack Overflow用户

发布于 2009-11-14 19:15:51

从我所看到的比较来看,在最小化文件大小方面,闭包似乎是明显的赢家。本文使用三个流行的JS库(jQuery、Prototype、MooTools)来比较YUI Compressor和Closure Compiler之间的压缩效果:http://www.bloggingdeveloper.com/post/Closure-Compiler-vs-YUI-Compressor-Comparing-the-Javascript-Compression-Tools.aspx

Closure在每次测试中都处于领先地位,特别是在高级模式下,它“通过提供近60%的压缩,将代码大小最小化,比YUI Compressor多出约20-25%。”

票数 14
EN

Stack Overflow用户

发布于 2009-11-08 00:21:31

闭包可以在简单模式或高级模式中使用。简单模式对于大多数JavaScript代码来说是相当安全的,因为它只重命名函数中的局部变量以获得进一步的压缩。

高级模式更具侵略性。它将重命名对象文字中的键,如果它可以确定内联函数调用返回没有副作用的简单值,则重命名这些键。

例如:

代码语言:javascript
复制
function Foo()
{
  return "hello";
}

alert(Foo());

翻译为:

代码语言:javascript
复制
alert("hello");

这段代码是:

代码语言:javascript
复制
var o = {First: "Mike", Last: "Koss"};
alert(o);

翻译为:

代码语言:javascript
复制
alert({a:"Mike",b:"Koss"});

您可以通过引用以下名称来防止高级模式更改对象文字中的键值:

代码语言:javascript
复制
{'First': "Mike", 'Last': "Koss"}

您可以在谷歌的交互式Closure Compiler site上尝试这些和其他示例。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1686428

复制
相关文章

相似问题

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