CDN托管的JavaScript库与下载和缩小

CDN hosted javascript libraries vs downloaded and minified

本文关键字:下载和 缩小 JavaScript CDN      更新时间:2023-09-26
主要

在这里寻找一些信息。

最近更改了我的设置以使用Grunt和LiveReload。它非常适合从 scss 文件创建小型缩小的 css 文件,所以这很棒。

但是,就JS而言,什么最好?我目前将CDN用于大多数事情,例如jQuery,Isotope,TagIt等。

有一些自定义JS文件,其中包含我自己的网站代码,因此我可以将它们连接起来并缩小。我知道有很多请求会影响性能,因此会缩小和连接。

但是下载所有库并将它们编译成一个 JS 文件以包含在我的网站上是否更好?还是将外部链接到 CDN?

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

  • 安全
  • 性能

安全

在安全性方面,自己托管 JavaScript 会让您负责,而依赖来自外部域的 JavaScript 本质上信任该域与您的域的安全性(这取决于您对该第三方的信任程度,可能是可接受的,也可能是不可接受的)。如果您使用高级安全设置(如 Content-Security-Policy ),则可能需要做一些额外的工作来允许这些外部托管的脚本(例如,专门将 CDN 域列入script-src白名单)。

性能

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