2011-07-31 39 views
0

我无法理解使用google关闭编译器API服务的基本流程。我只会解雇一些问题:帮助google关闭编译器基础知识

  1. 我应该在我发送的文件列表中包含closure的base.js吗?
  2. deps.js太大而无法发送。我应该自己包括它,还是编译器服务会使用它自己的副本?
  3. 我的理解是,编译器的一个特性是它解析“require”语句,并在输出中包含必要的代码。例如,如果我去他们提供并键入以下内容输入框中输入online UI tool

    goog.require("goog.dom"); 
    goog.dom.getElement("test"); 
    

,然后按“编译”,我希望回去刚好够的谷歌关闭代码来执行此片段。相反,我只是回到相同的东西(减去空白)。我不了解什么?

最后,谷歌的编译器服务对您发送的文件有200k大小的限制。我使用名为Minify的PHP包,它允许您发送文件列表,这些文件是通过服务发送的时间,可能这就是谷歌希望你处理200k的限制。编译器应该检查你的私有变量是否在任何地方作为公共访问,这似乎意味着它必须知道列表中的所有文件,以确保在文件中定义的类A在文件B中没有被侵犯。是这种情况吗?服务是否记得每个文件被解析,保存在内存中,然后交叉检查所有内容?或者我的理解还有缺陷?

谢谢,伙计们!

+0

看起来我确实在树林里。看来我应该看看ClosureBuilder.py(http://code.google.com/closure/library/docs/closurebuilder.html) – Max

回答

2

如果从下拉菜单中选择了“封库”下的“添加URL”,来配置它会增加:

// @ use_closure_library=true 

这将导致web服务,包括为“goog的来源。要求“可以通过闭包库本身来满足。如果任何goog.requires必须由您自己的代码满足,则必须手动包含该URL。

在你可能想运行自己的编译服务,为您可能会发现迈克尔·博林的Plovr项目有用的一些点:

http://code.google.com/p/plovr/

+0

我爱你。谢谢。 – Max

0

我已经创建了一个名为Shoreline一个谷歌关闭项目模板。它包含在本地创建,测试和编译Closure项目所需的一切。没有代码大小限制,没有正常运行时间问题。