首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >最佳JavaScript压缩器

最佳JavaScript压缩器
EN

Stack Overflow用户
提问于 2008-08-26 19:36:20
回答 12查看 113.8K关注 0票数 173

目前最好的JavaScript压缩器是什么?我正在寻找一个工具,它可以:

  • 易于使用
  • 压缩率高
  • 生成可靠的最终结果(不会弄乱代码)
EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2010-08-22 22:50:31

我最近发布了UglifyJS,这是一个用JavaScript编写的JavaScript压缩器(在NodeJS Node.js平台上运行,但它可以很容易地修改为在任何JavaScript引擎上运行,因为它不需要任何Node.js内部组件)。它比YUI CompressorGoogle Closure都快得多,在我测试的所有脚本上,它比YUI压缩得更好,而且比闭包更安全(知道如何处理"eval“或" with ")。

除了删除空格之外,UglifyJS还执行以下操作:

else

  • 更改局部变量名(通常为单个连续的var declarations

  • avoids插入任何不需要的方括号、括号和semicolons

  • optimizes IFs (当检测到不需要它时删除“”,如果可能,将IFs转换为&&、||或?/:运算符,将possible
  • removes引用自对象文字中的键的foo.bar转换为
    • ,当这导致较小的代码时,执行简单表达式(

    13)

附言:哦,它也可以“美化”。;-)

票数 150
EN

Stack Overflow用户

发布于 2008-08-26 19:48:35

几年后重新考虑这个问题,UglifyJS,似乎是目前最好的选择。

如下所述,它可以在NodeJS平台上运行,但可以很容易地修改为在任何JavaScript引擎上运行。

-老答案如下

谷歌发布了,它似乎生成了迄今为止herehere中最小的文件

在此之前,各种选项 were as follow

基本上,Packer在初始压缩方面做得更好,但是如果你打算在通过网络发送文件之前对文件进行gzip压缩(这是你应该做的),YUI Compressor会得到最小的最终大小。

这些测试是在jQuery代码btw上完成的。

  • 原始jQuery库62,885字节,19,758字节gzip
  • jQuery缩小后为JSMin 36,391字节,11,541字节后为gzip
  • jQuery,打包后为21,557字节,11,119字节后为gzip
  • jQuery,使用YUI压缩器缩小后为31,822字节,10,818字节后为gzip

<代码>F216

@daniel james在评论compressorrater中提到,它显示了包装器在最佳压缩方面领先于图表,所以我猜ymmv

票数 125
EN

Stack Overflow用户

发布于 2008-08-26 20:03:40

我使用 from the Dojo project -它是例外的,因为它实际上使用了JavaScript解释器(Rhino)来处理在代码中查找符号并理解它们的作用域等,这有助于确保代码在从另一端出来时能够正常工作,而不是许多使用正则表达式来做同样事情的压缩工具(这不是那么可靠)。

在我当前的Visual Studio解决方案中,我实际上在Web Deployment Project中有一个MSBuild任务,它运行一个脚本,该脚本在我们部署之前通过ShrinkSafe运行所有解决方案的JS文件,它工作得很好。

编辑:顺便说一句,“最佳”是有争议的,因为“最佳”的标准将根据项目的需要而变化。就我个人而言,我认为ShrinkSafe是一个很好的平衡;对于一些认为最小尺寸的==最好的人来说,它是不够的。

编辑:值得注意的是,YUI压缩器也使用Rhino。

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

https://stackoverflow.com/questions/28932

复制
相关文章

相似问题

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