javascript - CDN 托管的 javascript 库与下载和缩小

标签 javascript jquery performance compilation cdn

主要是在这里找一些资料。

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

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

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

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

最佳答案

这里确实有两个考虑因素:

  • 安全
  • 表现

安全

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

性能

在性能方面,使用 CDN 托管版本——尤其是当它很流行时——可能会给你更好的缓存;但是,自己托管并将其与其他脚本结合使用可能会产生更少的请求。就哪个实际上更快而言,您需要自己进行一些测量(我建议对真实用户流量进行 a/b 测试,这将使您更好地了解真实用户是否已经拥有 CDN 托管版本资源缓存与否)。

关于javascript - CDN 托管的 javascript 库与下载和缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27681955/

相关文章:

javascript - 调整大小时 Div 闪烁

c# - 使用 C# 从 HTTP 响应中抓取图像

javascript - 在 Bootstrap 2.3 中更改崩溃图标而不是在 bootstrap 3 中

javascript - 查找已选中复选框的顺序

javascript - 在显示 jquery/js 之前按列值对表格进行排序

swift - 如何让 swift 在合理的时间内编译出基础数学

javascript - jQuery:编辑标签只能工作一次

javascript - 根据移动设备屏幕尺寸动态设置 HighCharts marginTop

java - 我可以一次插入多行吗?

android - RecyclerView 与 ViewPager