最佳 JavaScript 压缩器 [已关闭]

2022-08-30 02:01:27

什么是最好的JavaScript压缩器?我正在寻找一种工具:

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

答案 1

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

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

  • 更改局部变量名称(通常为单个字符)
  • 连接连续的变量声明
  • 避免插入任何不需要的方括号、分隔符和分号
  • 优化 IFs(当它检测到不需要时删除“else”,在可能的情况下将 IP 转换为 &&、|| 或 ?/: 运算符等)。
  • 在可能的情况下转换为foo["bar"]foo.bar
  • 尽可能从对象文本中的键中删除引号
  • 当这导致代码变小时,解析简单表达式 (1+3*4 ==> 13)

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


答案 2

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

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

--- 下面的旧答案---

Google发布了Gacced Compiler,它似乎正在生成迄今为止最小的文件,如这里和这里所见

在此之前,各种选项如下

基本上,Packer在 初始压缩方面做得更好 ,但是如果您要在网络上发送之前对文件进行gzip(您应该这样做),YUI Compressor将获得最小的最终尺寸。

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

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

@丹尼尔·詹姆斯(daniel James)在评论压缩机rater中提到,该评论显示帕克在最佳压缩方面领先于图表,所以我猜ymmv