Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
最佳JavaScript压缩器_Javascript_Compression - Fatal编程技术网

最佳JavaScript压缩器

最佳JavaScript压缩器,javascript,compression,Javascript,Compression,可用的最佳JavaScript压缩器是什么?我正在寻找一种工具: 很容易使用 具有高压缩率 产生可靠的最终结果(不会弄乱代码) 是一条路要走。它有一个伟大的压缩率,经过良好的测试,并在许多顶级网站使用,嗯,我个人推荐 我在我的项目中使用了它,没有一个JavaScript错误或问题。它有很好的文档 我从未使用过它的CSS压缩功能,但它们也存在。CSS压缩也同样有效 注意:尽管Dean Edwards的//比YUI Compressor实现了更好的压缩率,但我在使用它时遇到了一些JavaScrip

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

  • 很容易使用
  • 具有高压缩率
  • 产生可靠的最终结果(不会弄乱代码)
    • 是一条路要走。它有一个伟大的压缩率,经过良好的测试,并在许多顶级网站使用,嗯,我个人推荐

      我在我的项目中使用了它,没有一个JavaScript错误或问题。它有很好的文档

      我从未使用过它的CSS压缩功能,但它们也存在。CSS压缩也同样有效


      注意:尽管Dean Edwards的//比YUI Compressor实现了更好的压缩率,但我在使用它时遇到了一些JavaScript错误。

      是另一个错误。

      试试,得到了C#、Java、C和其他端口,并且也很容易使用。

      一个HttpHandler,它做到了这一点,也许会帮助你几年后重新审视这个问题,似乎是目前最好的选择

      如下所述,它在NodeJS平台上运行,但可以轻松修改以在任何JavaScript引擎上运行

      ---下面是老答案---

      谷歌发布的这一版本似乎是迄今为止所看到和发现的最小的文件

      在此之前,请选择各种选项

      基本上,在初始压缩时做得更好,但是如果您要在发送文件之前对文件进行gzip处理(您应该这样做),则会得到最小的最终大小

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

      • 原始jQuery库62885字节,gzip后19758字节
      • jQuery缩小为JSMin 36391字节,gzip后为11541字节
      • jQuery使用打包器21557字节缩小,gzip后11119字节
      • jQuery使用YUI压缩器缩小了31822字节,gzip之后是10818字节
      @评论中提到,Packer在最佳压缩方面领先于图表,因此我想我使用的是ymmv,这是一个例外,因为它实际上使用JavaScript解释器()来处理在代码中查找符号并理解其范围等问题,这有助于确保代码在另一端出现时能够正常工作,与许多使用regex进行相同操作的压缩工具不同(这不太可靠)

      在我当前的VisualStudio解决方案中,我实际上有一个MSBuild任务,它运行一个脚本,该脚本在部署之前通过ShrinkSafe运行解决方案的所有JS文件,并且运行得非常好

      编辑:顺便说一句,“最佳”是值得商榷的,因为“最佳”的标准会根据项目的需要而有所不同。就我个人而言,我认为心理安全是一个很好的平衡;对于一些认为最小尺寸=最好的人来说,这是不够的


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

      是一个YUI压缩器脚本(),它查找路径上的所有js和css并压缩/(可选)使它们混淆。很高兴集成到构建过程中。

      如果您使用Packer,只需使用“收缩变量”选项并gzip生成的代码即可。base62选项仅适用于服务器无法发送Gzip文件的情况。带有“收缩变量”的打包器可以更好地压缩YUI,但如果您跳过了某个分号,则可能会引入错误


      base62基本上是穷人的gzip,这就是为什么gzipping base62 ed代码比gzipping shrink var ed代码提供更大的文件。

      用于提供最佳结果。

      KJScompress

      Kjscompress/csskompress是一组两个 应用程序(KJSA) csscompress)以删除不重要的 文件中的空白和注释 包含JavaScript和CSS。二者都 是用于 GNU/Linux操作系统

      在寻找银弹时,发现了这个 问题。用于RubyonRails

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

      除了删除空白,UglifyJS还执行以下操作:

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

      附言:哦,它还可以“美化”

      是一个很好的压缩程序,可以在缩小后使用。

      Packer有一个关闭“base62 encode”的选项,对于jQuery,它在gzip后压缩的比yui小。这是因为jquery使用“eval”和“with”,这会阻止“safe”压缩器进行某些压缩,但packer会忽略它们。一般来说不安全,但jQuery是针对Packer进行测试的。另外,如果你不相信我,请尝试一下。不要忘记Packer的缺点——解压时间。请注意,google closure有时可能是最糟糕的压缩器(输出甚至比原始的还要大)——它默认情况下会将字符串中的非ascii字符转换为
      \uxxx
      文本。。例如,使用
      --charset UTF-8
      (如果您确定以某种方式让浏览器知道),ClosureCompiler输出对我不起作用。worksPacker在文件大小方面看起来不错,但事实证明,解包所花费的时间通常超过了通过管道传输较小文件所获得的时间。大多数实际的浏览器工作台