2

如果您不知道我在说什么,请查看:http : //closure-compiler.appspot.com/home(这是一个 JavaScript 压缩程序)


在他们的网站上,他们声明如下:

Closure Compiler 将 JavaScript 编译成紧凑的高性能代码。编译器会删除死代码并重写并最小化剩下的代码,以便快速下载和运行。它还检查语法、变量引用和类型,并警告常见的 JavaScript 陷阱。这些检查和优化可帮助您编写错误更少且更易于维护的应用程序。

但是有人真的可以详细解释一下这个闭包编译器对我的代码做了什么吗?

4

2 回答 2

2

闭包编译器将编译您的代码,并对您的代码执行标准优化技术。

从表面上看,生成的代码可能具有相似性,也可能不具有相似性,但通常工作方式完全相同。

于 2012-07-14T17:56:36.187 回答
1

https://developers.google.com/closure/compiler/docs/compilation_levels

ADVANCED_OPTIMIZATIONS 转换包括:

  • 更激进的重命名:
    使用 SIMPLE_OPTIMIZATIONS 编译只会重命名函数中的参数和变量。ADVANCED_OPTIMIZATIONS 还重命名全局变量、函数名和属性。

  • 死代码删除:
    使用 ADVANCED_OPTIMIZATIONS 进行编译会删除可证明无法访问的代码。这在与大型库结合使用时特别有用。如果您只使用大型库文件中的几个函数,编译器可以从其输出中删除除这些函数之外的所有内容。

  • 全局内联:
    使用 ADVANCED_OPTIMIZATIONS 的编译将一些函数调用替换为函数体。这种转换称为“内联”。编译器仅在确定内联是安全的并节省空间时才内联函数。当编译器确定它可以安全地这样做时,使用 ADVANCED_OPTIMIZATIONS 进行编译也会内联常量和一些变量。

于 2012-07-14T17:56:06.477 回答