为啥 Google 的 Closure 库不在他们的 CDN 上托管?

Posted

技术标签:

【中文标题】为啥 Google 的 Closure 库不在他们的 CDN 上托管?【英文标题】:Why isn't Google's Closure library hosted on their CDN?为什么 Google 的 Closure 库不在他们的 CDN 上托管? 【发布时间】:2011-01-14 04:08:05 【问题描述】:

Google 托管了许多 javascript 库,例如 jQuery 和 dojo on their CDN。出于某种原因,他们自己的Google Closure 库似乎不包括在内。是否有 Closure 库的托管版本?

【问题讨论】:

【参考方案1】:

您可以链接到他们的存储库:

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

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

【讨论】:

移至https://cdn.rawgit.com/google/closure-library/master/closure/goog/base.js【参考方案2】:

不包括在内,因为 Closure 旨在与编译器一起使用;托管版本需要包含整个库,从而破坏了构建仅包含您需要的功能的缩小库的目的。

【讨论】:

谢谢;我还发现了groups.google.com/group/closure-library-discuss/msg/…,它和你说的差不多。不幸的是,这个决定使得将示例 JS 代码作为另一个项目的一部分分发有些困难,而这恰好使用了 Google Closure 库。 “将示例 JS 代码作为另一个项目的一部分分发有点困难” 我不同意这一点,如果您将代码组织成组件,它可以在您的项目中重用。强大的编译工具让你得到一个非常紧凑的js文件。 嗯,他们可以提供一个编译单元和一个符号映射来使用相同的符号“恢复编译”。 我的意思是,我不能在某处发布一个小代码片段,通过&lt;script src="..."&gt; 将闭包库拖入并让片段正常工作。我可以用 Prototype、jQuery 等来做到这一点。 Michael Bolin 提供了一个简单的 Closure 子集:blog.bolinfest.com/2009/12/…

以上是关于为啥 Google 的 Closure 库不在他们的 CDN 上托管?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google Closure Compiler 编译的 jQuery

在带有属性的ES6模块上使用Closure Compiler

为啥 Google 在前面加上 while(1);到他们的 JSON 响应?

Google Closure 编译器:默认 CompilerOptions

为啥从 Google 的 AJAX 库 API 加载 JS 框架很重要?

Google Closure:如何渲染 2 个组件