packagelist/closurecompiler-bin

Closure Compiler 是一个使 JavaScript 下载和运行更快的工具。它是一个真正的 JavaScript 编译器。它不是从源语言编译到机器代码,而是从 JavaScript 编译到更好的 JavaScript。它解析您的 JavaScript,分析它,移除死代码,并重写和最小化剩余部分。

v2016.02.08 2018-01-20 09:17 UTC

This package is auto-updated.

Last update: 2024-09-21 23:40:39 UTC


README

Build Status

Closure Compiler 是一个使 JavaScript 下载和运行更快的工具。它是一个真正的 JavaScript 编译器。它不是从源语言编译到机器代码,而是从 JavaScript 编译到更好的 JavaScript。它解析您的 JavaScript,分析它,移除死代码,并重写和最小化剩余部分。它还检查语法、变量引用和类型,并警告常见的 JavaScript 陷阱。

入门指南

获取帮助的选项

  1. Closure Compiler 讨论组 中发表帖子
  2. Stack Overflow 上提问
  3. 查看 FAQ

自己构建

注意:Closure Compiler 需要 Java 7 或更高版本。

使用 Ant

  1. 下载 Ant 构建工具

  2. 在源代码树的根目录下,有一个名为 build.xml 的 Ant 文件。要使用它,导航到相同的目录,并输入以下命令

    ant jar
    

    这将生成一个名为 build/compiler.jar 的 jar 文件。

使用 Eclipse

  1. 下载并打开 Eclipse IDE
  2. 导航到 文件 > 新建 > 项目 ... 并创建一个 Java 项目。给项目起一个名字。
  3. 选择 从现有源创建项目 并选择检出的源代码树的根目录作为现有目录。
  4. 导航到 build.xml 文件。您将在大纲窗格中看到所有构建规则。运行 jar 规则以在 build/compiler.jar 中构建编译器。

运行

在命令行中,在项目根目录下,输入

java -jar build/compiler.jar

这将以交互模式启动编译器。输入

var x = 17 + 25;

然后按 "Enter",然后按 "Ctrl-Z"(在 Windows 上)或 "Ctrl-D"(在 Mac 或 Linux 上)和 "Enter" 再次。编译器将做出响应

var x=42;

Closure Compiler提供了许多选项来从文件读取输入、将输出写入文件、检查您的代码以及运行优化。要了解更多信息,请输入

java -jar compiler.jar --help

有关运行Closure Compiler的更详细信息,请参阅文档

编译多个脚本

如果您有多个脚本,您应该使用一个编译命令将它们全部一起编译。

java -jar compiler.jar --js_output_file=out.js in1.js in2.js in3.js ...

您还可以使用minimatch风格的glob。

# Recursively include all js files in subdirs
java -jar compiler.jar --js_output_file=out.js 'src/**.js'

# Recursively include all js files in subdirs, exclusing test files.
# Use single-quotes, so that bash doesn't try to expand the '!'
java -jar compiler.jar --js_output_file=out.js 'src/**.js' '!**_test.js'

Closure Compiler将按命令行中传递的顺序连接文件。

如果您正在使用glob或许多文件,您可能会开始遇到管理脚本之间依赖关系的问题。在这种情况下,您应该使用Closure Library。它包含强制脚本之间依赖关系的函数,并且Closure Compiler将自动重新排序输入。

如何贡献

报告一个错误

  1. 首先确保它确实是一个错误,而不是Closure Compiler的工作方式(特别是对于ADVANCED_OPTIMIZATIONS)。
  1. 如果您仍然认为您已经发现了一个错误,请确保没有人已经报告过它。查看已知问题列表。
  2. 如果尚未报告,请提交一个新的问题。确保添加足够的细节,以便可以重现错误。重生产代码越小越好。

建议一个功能

  1. 查阅常见问题解答,以确保您想要的行为不是明确排除的(例如字符串内联)。
  2. 确保没有人提出过相同的要求。查看已知问题列表。
  3. 阅读有关哪些类型的功能请求被接受的信息。
  4. 将您的请求作为问题提交。

提交补丁

  1. 所有贡献者都必须签署一个贡献者许可协议。有关详细信息,请参阅CONTRIBUTORS文件。
  2. 为了确保您的更改是可接受的类型,请在Closure Compiler Discuss Group上询问您的补丁。
  3. 分支存储库。
  4. 进行您的更改。
  5. 为您的更改提交一个拉取请求。项目开发者将审查您的工作,然后合并您的请求到项目中。

Closure Compiler许可

版权所有 2009 Closure Compiler作者。

根据Apache许可证版本2.0(“许可证”);除非按照适用法律要求或书面同意,否则不得使用此文件,除非符合许可证。您可以在https://apache.ac.cn/licenses/LICENSE-2.0获取许可证副本。

除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证的具体语言规定许可和限制,请参阅许可证。

依赖项许可证

Rhino

Args4j

Guava 库

JSR 305

JUnit

Protocol Buffers

Truth

Ant

GSON

Node.js 闭包编译器扩展