CDN托管的JavaScript库与下载和缩小
CDN hosted javascript libraries vs downloaded and minified
主要
在这里寻找一些信息。
最近更改了我的设置以使用Grunt和LiveReload。它非常适合从 scss 文件创建小型缩小的 css 文件,所以这很棒。
但是,就JS而言,什么最好?我目前将CDN用于大多数事情,例如jQuery,Isotope,TagIt等。
我有一些自定义JS文件,其中包含我自己的网站代码,因此我可以将它们连接起来并缩小。我知道有很多请求会影响性能,因此会缩小和连接。
但是下载所有库并将它们编译成一个 JS 文件以包含在我的网站上是否更好?还是将外部链接到 CDN?
这里实际上有两个考虑因素:
- 安全
- 性能
安全
在安全性方面,自己托管 JavaScript 会让您负责,而依赖来自外部域的 JavaScript 本质上信任该域与您的域的安全性(这取决于您对该第三方的信任程度,可能是可接受的,也可能是不可接受的)。如果您使用高级安全设置(如 Content-Security-Policy
),则可能需要做一些额外的工作来允许这些外部托管的脚本(例如,专门将 CDN 域列入script-src
白名单)。
性能
在性能方面,使用CDN托管版本(特别是如果它很受欢迎)可能会为您提供更好的缓存;但是,自己托管它并将其与其他脚本组合可能会产生更少的请求。就哪个实际上更快而言,您需要自己进行一些测量(我建议对真实用户流量进行A/B测试,这将使您更好地了解真实用户是否已经缓存了资源的CDN托管版本)。
相关文章:
- 如何在d3上的图形中添加放大和缩小按钮
- JavaScript无分号代码样式和缩小
- 角度 2 捆绑和缩小
- 加载、滚动、放大和缩小图像,如谷歌地图
- 我想滚动放大和缩小一个图像,但也有针在该图像上保持正确的位置.jQuery
- 如何组织和缩小大量javascript文件
- 如何在持续集成中捆绑和缩小javascript(jenkins)
- 如何允许在谷歌chrome中通过触摸屏放大和缩小iframe
- 如何在放大和缩小时间轴时在时间轴Vis.js上设置新选项
- 缓存和缩小dojo、jquery-js和CSS的最佳java工具
- 角度$controller服务和缩小
- 脚本下载和执行的顺序与 document.write .
- 使用 PHP 和 JavaScript 在黑莓中下载和保存图像
- 浏览器的放大和缩小函数调用
- CDN托管的JavaScript库与下载和缩小
- Mapbox.GL:滚动放大和缩小到自定义地图框地图上的特定坐标
- 在任一图形上使用滚轮/拖动时放大和缩小/滚动的堆叠图形
- 免费的应用程序来混淆和缩小JavaScript / PHP / HTML for Mac
- 连接和缩小 Node.js 应用程序
- 在一个应用程序中,不同 html 中的不同合并和缩小的 js 文件