【问题标题】:Is there a free/open-source JavaScript-to-JavaScript compacting compiler (like Google's)? [closed]是否有免费/开源的 JavaScript-to-JavaScript 压缩编译器(如 Google 的)? [关闭]
【发布时间】:2010-10-09 13:33:51
【问题描述】:

如果您查看带有 JavaScript 的 Google 页面的源代码,您会发现 JavaScript 显然不可读 - 或可维护。例如,所有变量和函数都是一个字母命名的(至少,前 26 个是……);没有多余的空格或换行符;没有cmets;等等。

这个编译器的好处很明显:页面加载速度更快,JavaScript 执行速度更快,而且作为奖励,竞争对手将很难理解您的混淆代码。

显然,Google 正在使用某种 JavaScript-to-JavaScript 压缩编译器。我想知道他们使用的是内部工具吗?如果没有,他们使用的是什么?是否有任何此类公开(理想情况下是免费/开源)工具?

【问题讨论】:

标签: javascript optimization compiler-construction obfuscation


【解决方案1】:

可能正在寻找 GWT - 它是 Java-to-JavaScript 而不是 JavaScript-to-JavaScript,但您可能仍然会发现它很有用。

我无法评论我们用于 JavaScript 到 JavaScript 的内部工具(如果有的话)。 (说实话,我什至不知道临时......我必须先查一下,然后才能明确不告诉任何人:)

【讨论】:

  • 我知道 GWT,但这不是我要找的...
  • 但这就是他们使用的原因。我认为没有 JS-JS 编译器之类的东西。缩小器比比皆是,OTOH
  • GWT JS-JS 解决方法: 1:写一个javascript->python转换工具。 2:写javascript。 3:使用开发工具将javascript转换为python。 4:修复因工具中的错误而导致的错误。 5:使用 Jython 2.1 将 python 转换为 java。 6:使用GWT将java转换为javascript。 7:??? 8:利润!
  • @Devin:我认为“???”是“咨询真正的世界级治疗师。”
  • @Javier:只有少数 Google 项目使用 GWT。像 gmail 和 google 地图这样的大人物是纯 javascript,被缩小了,因为从 GWT 获得这样的性能是很困难的。
【解决方案2】:

YUI Compressor 是一个 Java 应用程序,可以压缩和混淆您的 Javascript 代码。它是您从命令行运行的 Java 应用程序(并且可能是构建过程的一部分)。

另一个是PHP Minify,它做类似的事情。

【讨论】:

  • 它还提到了其他混淆器,如果你不喜欢 YUI,可能是你想要的。
  • (YUI Compressor 页面,我的意思是)
【解决方案3】:

实际上不太可能是 JS->JS,更不可能是 Java->JS。这些天我相信推荐的 JS 压缩器(因为这是他们所谓的)是 YUI compressor,但其他像 /packer/ 存在

【讨论】:

    【解决方案4】:

    另一个是 ShrinkSafe,它是 Dojo 的一部分,但可以单独使用(在构建脚本、命令行或网站中): http://shrinksafe.dojotoolkit.org/

    【讨论】:

      【解决方案5】:

      Crockford.com 的 JSMin 是朝着这个方向迈出的一步,假设您只是在寻找最小化而不是混淆。

      【讨论】:

        猜你喜欢
        • 2011-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-20
        相关资源
        最近更新 更多