【问题标题】:Pre-compiled versions of often used scripts in browsers [closed]浏览器中常用脚本的预编译版本[关闭]
【发布时间】:2015-01-26 05:42:29
【问题描述】:

有谁知道为什么 Chrome、FF 和 IE 等浏览器不只是在其安装中嵌入所有著名的脚本?他们可以拥有所有版本的 jquery,例如,预编译(即在 V8 for chrome 中)并且浏览器将能够识别对 cdn 的引用或仅通过脚本名称识别对本地脚本的引用。真的,如果你包含所有版本的浏览器,比如 jquery、angular、dojo 和 ext,那么安装浏览器的效果会有多大?通过 V8 编译为 C++,这些脚本根本不是很大。

当然,你可以说,'但是它不会使用我在 jquery-2.1.3.js 中所做的修改'。没错,但这只是可怕的工程。

这样会更快并节省带宽。

但我可能忽略了一些东西。总会有的。

【问题讨论】:

  • 同一个话题,我们来聊聊宇宙……
  • jQuery 2.1.3 是 84kb。除非您通过信鸽连接到 Internet,否则本地副本不会产生任何明显的影响。
  • @Juhana 一只鸽子可以携带千兆字节,甚至千兆字节。大小并不重要,因为数据包大小可能很大,它是延迟:)
  • 承认吧,你正醉醺醺地坐在家里,试图通过这次讨论来减轻你无聊的夜晚。
  • AngularJS 为 125kb。他们正在努力加载的是应用程序本身,而不是库。

标签: javascript browser cdn


【解决方案1】:

因为已经有一个完整的协议与向浏览器提供资源以及在客户端缓存它们以及发送标头以告诉浏览器何时应该检查新版本有关。

另外,filename-1.2.3.js 并不能说明全部情况。在主要、次要和补丁之后还有一个内部版本号。见http://semver.org/

您不能指望不同的浏览器供应商在每次更新或构建任何脚本时都负责更新他们的浏览器。它只会减慢交付速度。考虑到已经有一个协议。 HTTP。

【讨论】:

  • 请注意,我在这里谈论的是主要脚本,对吧?您是说 jquery-1.9.3 的内部版本号与 1.9.3 的另一个版本不同吗?我从来没有听说过这种版本的任何主要脚本。我认为他们至少总是会更改修订版。哦,我知道机制已经到位,但是如果不需要发送,为什么要发送呢?
  • 我不是说。语义版本控制是。而你所说的bad engineering,我称之为A person who's active on the open source community and is able to fix stuff in their own environment for the business need while he's waiting for his pull-request to get through。不过,我想看到的是一个 CDN,我可以在其中简单地选择更新,例如将脚本指定为 filename-1.9.+.js 而不是硬编码的 1.9.3。
  • 那么他/她肯定需要创建一个名为 jquery-1.9.3.my-prototype-overrides.js 或其他的替代,而不是修改行业标准文件并为下一个程序员创造疯狂随之而来。没有人这样做。真的。
猜你喜欢
  • 1970-01-01
  • 2014-10-08
  • 2018-12-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-16
  • 1970-01-01
  • 2018-09-14
  • 1970-01-01
相关资源
最近更新 更多