如何使用Google Closure编译器

时间:2014-12-04 18:10:20

标签: javascript google-closure-compiler google-closure google-closure-library

由于此消息,我尝试从closurebuilder.py脚本迁移到Closure compiler

../../closure-library/closure/bin/build/closurebuilder.py: Closure Compiler now natively understands and orders Closure dependencies and

优先使用此脚本执行JavaScript编译

由于我使用Google Closure LibraryOpenLayers 3,我如何调用编译器(compiler.jar)

  • 构建myapp-deps.js依赖文件
  • 构建一个缩小版myapp.js,其中仅包含使用过的OL3和CL类
  • 使用预先计算的OL3和CL依赖文件(例如ol3-deps.js)构建两者

让我们进一步说一切都位于以下结构中。这几乎等于我自己的项目,但直接在这里发布是一件大而复杂的事情。

project/
    src/
        js/
            <some other js "required" in myapp.js>
            myapp.js
            myapp-deps.js                 # This should be the dependency file
        lib/
            closure/goog/...
            third_party/closure/goog/...  
            myapp.js                      # This should be the minified version
    ol3/

我感谢每一个提示。

1 个答案:

答案 0 :(得分:2)

Closure Compile现在可以管理Closure依赖项,即JavaScript代码中使用goog.providegoog.require定义的依赖项。因此,您不再需要使用closurebuilder.py脚本。这就是它被弃用的原因。

请参阅wiki页面https://github.com/google/closure-compiler/wiki/Manage-Closure-Dependencies以了解Closure Compiler为此提供的选项/标志。

关于生成deps文件,这可能是为了调试/开发目的逐个加载js文件所必需的,你仍然需要Closure Library的depswriter.py脚本。 Closure Compiler没有工具或标志。阅读https://github.com/google/closure-library/issues/382 depswriter.py已不再在Google中使用,但看起来仍然保留了脚本。