【问题标题】:Which Javascript minifier (cruncher) does the same things that the one Google uses for its JS APIs?哪个 Javascript minifier (cruncher) 与 Google 用于其 JS API 的功能相同?
【发布时间】:2010-10-04 03:23:48
【问题描述】:

我是一名 Google Maps API (javascript) 开发人员。我注意到 Google 使用了具有以下功能的 Javascript 缩小器:

  1. 缩短变量、属性、参数、类、函数和方法名称,混淆代码。 (例如,function1 -> a,function2 -> b,function3 -> c)
  2. 可以将某些变量、类、属性和方法标记为不进行处理,因此其名称与 API 手册中记录的名称保持一致。
  3. 它会在 API 的每个子版本中重新运行,就像构建任务一样,我注意到由于经过处理的名称会从一个版本更改为另一个版本。

我在整个互联网上都没有找到具有这些功能的 Javascript 缩小器。有人认识吗?

【问题讨论】:

  • 术语“缩小器”用于删除不必要的空白以最小化下载大小的工具。术语“混淆器”用于那些可以重命名标识符的工具,即使重命名会导致名称更短,从而最小化下载大小。大多数混淆器也会缩小剥离空白。
  • 为了确定,我检查了谷歌网站:code.google.com/p/minify 它清楚地标有“minify”。该站点没有证据表明任何变量都被重命名了。
  • @Ira,看看内部。正如@Jader 所注意到的,没有重命名面向外部的变量,但只有内部的变量才被重命名。

标签: javascript obfuscation minify


【解决方案1】:

您所描述的是“混淆器”而不是压缩器,通过搜索“Javascript 混淆器”很容易找到它们。

我们的SD Thicket ECMAScript Obfuscator 同时混淆和缩小。

【讨论】:

    【解决方案2】:

    Google 现在已经开放了他们使用的 minifier 以及其他一些内部 javascript 好东西。

    这一切都在 "Closure Tools" 这个名字下,本月早些时候是 announced

    【讨论】:

    【解决方案3】:

    还有a .NET port of YUI Compressor 可以让你:-

    • 将缩小/文件合并到 Visual Studio 构建后事件中
    • 集成到 TFS 构建(包括 CI)
    • 如果您只想在自己的代码中使用 dll(例如,即时缩小)。

    【讨论】:

      【解决方案4】:

      可以在以下位置找到一个基于 dojo 的收缩保险箱的简单在线 javascript minifier http://netspurt.com

      【讨论】:

        【解决方案5】:

        以下是我所知道的缩小器: 爱德华兹院长packer; YUICompressor; JSMIN;和道场compressor

        除此之外,GWT compiler 在从 Java 文件中生成高效的 JavaScript 文件方面做了很多工作。如果这是他们使用的,我不会感到惊讶。

        【讨论】:

        • 我认为这根本不能回答问题。
        • 它没有回答这个问题。它列出了“缩小器”而不是“混淆器”。
        • 这不太对; YUI Compressor 显然只是混淆了局部变量名。
        • “YUI Compressor 是 JavaScript 压缩器,旨在 100% 安全并产生比大多数其他工具更高的压缩率。”对我来说听起来像是一个缩小器——这就是@Jader 想要的。在内部,YUI 进行了混淆,但外部可用的所有内容都保持不变。这怎么不是@Jader 想要的?我认为这确实回答了他的问题的最好证据是这个答案有一个绿色的小复选标记。
        【解决方案6】:

        我相信 YUICompressor 会执行 #1,但函数名称除外,而 #2 会使用在压缩过程中被删除的特殊语法。

        #3 只是一个构建任务,而不是压缩器的功能。

        YUICompressor

        【讨论】:

          猜你喜欢
          • 2016-03-07
          • 2013-06-16
          • 2017-08-31
          • 1970-01-01
          • 1970-01-01
          • 2014-05-29
          • 1970-01-01
          • 2015-05-28
          • 1970-01-01
          相关资源
          最近更新 更多