谷歌CDN的angular依赖?

有没有办法减less以下包括一个?

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js"></script> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-route.min.js"></script> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-sanitize.min.js"></script> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-animate.min.js"></script> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-cookies.min.js"></script> 

我无法在Google的CDN上find这些托pipe服务的组合版本。

我一直在寻找一个捆绑,但还没有find。 对我来说,如果你想把它们全部放在一个js中,你必须手动绑定它们。 文件。


我正在考虑创build一个grunt任务(或类似的)来获取所有的依赖关系,并将它们合并成一个文件。 我知道你想使用CDN,但只是想分享这个想法。

更新
对于任何对后者感兴趣的人,只要碰到这个grunt-fetch-from-cdn插件 。 还没有尝试过,但看起来很有趣。

我认为CDN的主要优点是每个人都可以使用相同的文件,因此caching可以根本不需要为大多数访问者加载文件,因为它在其他站点中被广泛使用。

假设捆绑Angular依赖关系的各种configuration所需的排列次数完全否定了这种好处,并且最好将包与所有其他JS捆绑在一起,以尽可能less的请求数并自己提供服务。

但是,似乎Angular更新得相当频繁,虽然对bug修复很有帮助,但意味着当前在生产环境中可能有很多不同的版本(以及文件)。 这也会降低各个网站caching的好处。

如果有疑问,可以跨朋友/家人/工作人员等设备testing两种方法。 在您自己以外的网站上看到了正常的互联网使用情况。

我猜想在大多数情况下,像上面那样分别包含每个模块的CDN链接会更聪明,并且让caching负责减less实际的请求数量。 如果这是常见的做法,那么额外的文件数量将不会有太多的负载时间的影响。

我同意Colt,但如果明智地使用以下内容可能会有用(请参阅“使用单个HTTP请求加载多个文件”): JSDelivr

您可以使用gulp任务将其构build到单个脚本中,也可以使用bower一次性安装这些依赖项。