相关疑难解决方法(0)

如何优化服务和加载JavaScript文件?

我希望有更多全球规模网络应用程序经验的人可以澄清一些问题,假设和可能的误解.

让我们来看一个假想的网站(大量的客户端/动态组件),它在全球拥有数十万用户,并且来自一个地方(比如中欧).

  1. 如果应用程序依赖于流行的JavaScript库,那么从Google CDN中获取它并将其编译成一个简化的JS文件(以及所有特定于应用程序的JavaScript)或者将其与Google CDN分开加载会更好吗?
  2. Assetic VS headjs:加载一个JS文件或并行加载所有脚本(按依赖顺序执行)更有意义吗?

我的假设(请纠正我):

将所有特定于应用程序的/本地JS代码编译到一个文件中,使用像Google这样的流行库等CDN,但是通过headjs并行加载所有这些代码似乎是最佳的,但我不确定.服务器端将第三方JS和特定于应用程序的JS编译到一个文件中似乎几乎打败了使用CDN的目的,因为无论如何库都可能缓存在用户的某个位置.

除了缓存之外,从Google的CDN下载第三方库可能比托管应用程序的中央服务器更快.

如果发布一个流行的JS库的新版本,性能大大提升,则使用该应用程序进行测试,然后实现:

  • 如果所有JS都编译成一个文件,那么即使应用程序代码没有改变,每个用户也必须重新下载该文件.
  • 如果从CDN加载第三方脚本,则用户仅从CDN(或从某处的缓存)下载新版本.

在描述的情况下,是否存在以下任何合理的担忧?

  • 某些用户(或浏览器)一次只能与一个主机名建立一定数量的连接,因此从第三方CDN检索某些脚本将导致整体加载时间更快.
  • 某些用户可能在受限制的环境中使用该应用程序,因此该应用程序的域可能是白名单但不是CDN的域.(如果这可能是现实问题,是否可以尝试从CDN加载并在发生故障时从中央服务器加载?)

javascript networking cdn download assetic

7
推荐指数
1
解决办法
1966
查看次数

标签 统计

assetic ×1

cdn ×1

download ×1

javascript ×1

networking ×1