CDN托管的JavaScript库 vs 下载和压缩

4

主要在这里寻找一些相关的IT技术信息。

最近改变了我的设置,使用Grunt和LiveReload工作。它非常适合从scss文件创建小型压缩的css文件,非常棒。

然而,就JS而言,什么是最好的?我目前大部分使用CDN,例如jQuery、Isotope、TagIt等等。

我有一些包含网站自己代码的自定义JS文件,因此将它们连接在一起并进行压缩对我来说没问题。我知道请求过多会影响性能,因此需要进行压缩和连接。

但是是下载所有库并编译成一个JS文件包括在我的网站中更好呢?还是继续将外部库链接到CDN上?

1个回答

4

这里实际上有两个考虑因素:

  • 安全性
  • 性能

安全性

在安全方面,自己托管JavaScript可以让您掌控局面,而依赖来自外部域的JavaScript基本上就是信任该域对您的域的安全性(这取决于您与第三方的信任程度,可能是可以接受的或不可接受的)。如果您使用高级安全设置,例如Content-Security-Policy,则可能需要做一些额外的工作,以允许这些外部托管的脚本(例如,在script-src中明确列出CDN域白名单)。

性能

从性能方面来看,使用托管在CDN上的版本 - 尤其是如果它很受欢迎 - 可能会给您更好的缓存; 但是,自己托管并与其他脚本组合可能会产生更少的请求。就哪种方法实际上更快,您将需要进行一些自己的测量(我建议使用真实用户流量进行A/B测试,这将使您更好地了解真实用户是否已经缓存了托管在CDN上的资源版本)。


非常感谢您的回复。现在,我会下载它们并进行压缩。这样可以让我有控制权,如果需要调整的话。 - Lovelock

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