【发布时间】:2019-03-28 06:25:19
【问题描述】:
我无法理解使用 google 闭包编译器 API 服务的基本流程。我会问一些问题:
- 我是否应该在我发送的要编译的文件列表中包含闭包的 base.js?
- deps.js 太大,无法发送。我应该自己包含它,还是编译器服务会使用它自己的副本?
-
据我了解,编译器的功能之一是它解析“require”语句,并在输出中包含必要的代码。例如,如果我转到他们提供的online UI tool 并在输入框中输入以下内容:
goog.require("goog.dom"); goog.dom.getElement("test");
然后按“编译”,我希望得到足够的 google 闭包代码来执行这个 sn-p。相反,我只是得到同样的东西(减去空格)。我不明白什么?
最后,google 的编译器服务对您发送的文件有 200k 大小的限制。我正在使用一个名为 Minify 的 PHP 包,它允许您发送一个文件列表,这些文件一次通过服务发送一个,大概这就是谷歌希望你处理 200k 限制的方式。编译器应该检查,比如说,你的私有变量都没有在任何地方作为公共访问,这似乎意味着它必须了解列表中的所有文件,以确保文件中定义的类档案B中没有违反A。是这种情况吗?服务是否以某种方式将每个文件记住为已解析,将其保存在内存中并交叉检查所有内容?还是我的理解有缺陷?
谢谢各位!
【问题讨论】:
-
看起来我确实在树林里。看来我应该看看 ClosureBuilder.py (code.google.com/closure/library/docs/closurebuilder.html)