为什么谷歌的Closure库没有托管在它们的CDN上?

16

谷歌提供了一些JavaScript库,例如jQuery和dojo等,它们托管在他们的CDN上(内容分发网络)。但是有一点让人困惑,他们自己的Google Closure 库似乎没有被包括进去。是否有Closure库的托管版本呢?

2个回答

23

这是因为Closure意在与编译器一起使用,一个托管的版本需要包含整个库并违背了构建仅包含所需功能的压缩库的目的。


谢谢;我也发现了 https://groups.google.com/group/closure-library-discuss/msg/1e2e4a47f0f47279 ,它说的和你差不多。不幸的是,这个决定使得将示例JS代码作为另一个项目的一部分进行分发变得有些困难,而该项目恰好使用了Google Closure库。 - mjs
“将示例JS代码作为另一个项目的一部分进行分发有些困难。”我不同意这个观点,如果您将代码组织成组件,则可以在项目中重复使用。而且强大的编译器工具可以让您获得一个紧凑的JS文件版本。” - darkangel
他们可以提供一个编译单元和符号映射,以使用相同的符号“恢复编译”。 - thesmart
我的意思是,我不能在某个地方发布一个小的代码片段,通过<script src="...">引入闭包库,然后让这个片段正常工作。我可以使用Prototype、jQuery等来实现这一点。 - mjs
1
Michael Bolin提供了Closure的一个简单子集:http://blog.bolinfest.com/2009/12/closure-lite-just-in-time-for-christmas.html - John

9

您可以链接到他们的代码库:

<script src='https://cdn.rawgit.com/google/closure-library/master/closure/goog/base.js'></script>

对于演示或本地开发来说,这已经足够好了。正如其他答案所建议的那样,生产环境应该使用编译过的代码,这是非常值得的。


1
跳转到 https://cdn.rawgit.com/google/closure-library/master/closure/goog/base.js - Wernight

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接