哪种 JavaScript 压缩器(粉碎器)与 Google 用于 JavaScript API 的功能相同?

问题描述 投票:0回答:6

我是一名 Google 地图 API (JavaScript) 开发人员。我注意到 Google 使用 JavaScript minifier 具有以下功能:

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

我在整个互联网上还没有找到具有这些功能的 JavaScript 压缩器。有吗

javascript obfuscation minify
6个回答
62
投票

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

这一切都以“关闭工具”的名义进行,并于本月初宣布


10
投票

以下是我所知道的缩小器: Dean Edwards 的packer; YUI 压缩器JSMIN;和 Dojo 压缩机

除此之外,GWT 编译器还做了很多工作,可以从 Java 文件生成高效的 JavaScript 文件。如果他们就是这样用的,我不会感到惊讶。


3
投票

我相信 YUICompressor 执行 #1(函数名称除外)和 #2 使用在压缩过程中删除的特殊语法。

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

YUI压缩器


3
投票

还有 YUI Compressor 的 .NET 端口,它允许您:-

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

2
投票

您所描述的是“混淆器”而不是缩小器,通过搜索“Javascript混淆器”可以轻松找到它们。

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


2
投票

可以在 http://netspurt.com 找到基于 Dojo 的收缩安全的简单在线 JavaScript 压缩器。

© www.soinside.com 2019 - 2024. All rights reserved.