29

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

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

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

4

6 回答 6

62

谷歌现在已经开放了他们使用的缩小器以及其他一些内部 javascript 好东西。

这一切都在“关闭工具”的名称下,并于本月早些时候宣布。

于 2009-11-24T08:31:02.310 回答
10

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

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

于 2009-01-28T23:31:40.690 回答
3

我相信 YUICompressor 执行 #1,除了函数名称,并且 #2 使用在压缩过程中删除的特殊语法。

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

YUI压缩机

于 2009-01-28T23:31:32.970 回答
3

YUI Compressor还有一个 .NET 端口,可让您:-

  • 将缩小/文件合并到 Visual Studio 构建后事件中
  • 集成到 TFS 构建(包括 CI)
  • 如果您只想在自己的代码中使用 dll(例如即时缩小)。
于 2009-07-07T00:17:23.853 回答
2

可以在 http://netspurt.com找到基于 dojo 的收缩保险箱的简单在线 javascript 缩小器

于 2009-04-15T00:36:04.403 回答
2

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

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

于 2009-09-07T08:17:30.917 回答