Javascript 引用单独的JS文件与引用一个JS文件

Javascript 引用单独的JS文件与引用一个JS文件,javascript,Javascript,这将提高速度/效率:为目录中的所有文件引用一个JavaScript文件,还是为目录中的每个文件引用不同的JavaScript文件 因此,基本上,在所有网页中引用相同的JavaScript文件,而不是在每个网页中引用唯一的JavaScript文件 注意:我认为引用单个文件会比较慢,因为其中的代码对某些文件来说是过时的,因此运行无用的代码并导致文件运行效率降低。您需要针对您的具体情况进行衡量-因为每个站点/页面在加载较少的文件/加载额外不必要的脚本之间都有自己的平衡(同样适用于CSS) 一般来说,H

这将提高速度/效率:为目录中的所有文件引用一个JavaScript文件,还是为目录中的每个文件引用不同的JavaScript文件

因此,基本上,在所有网页中引用相同的JavaScript文件,而不是在每个网页中引用唯一的JavaScript文件


注意:我认为引用单个文件会比较慢,因为其中的代码对某些文件来说是过时的,因此运行无用的代码并导致文件运行效率降低。

您需要针对您的具体情况进行衡量-因为每个站点/页面在加载较少的文件/加载额外不必要的脚本之间都有自己的平衡(同样适用于CSS)


一般来说,HTTP v1中的单个文件速度更快,因为对并行下载的总数量有限制,HTTP v2应该会消除这种差异。

这涉及到一些折衷,因此您可能最终需要衡量您的具体情况才能确定。但是,我将解释一些折衷

  • 如果你有大量的数据或大量的代码,这些数据或代码只在一页或几页中使用,那么你可能会想将它们分离到它自己的文件中,这样你就只能加载它,初始化它,并让它在实际需要时占用内存。但是,请注意现代计算机的内存量(即使是现在的手机),数据或代码必须相当大才能保证单独下载

  • 除了第1项,您几乎总是希望优化以获得最大的缓存效率。从缓存中检索文件(甚至比需要的文件大)比检索任何文件(即使是小文件)都要快得多通过网络,你真的想优化缓存。而且,检索这些文件的时间通常比任何JS解析时间都要短(现在CPU非常快),因此触发额外下载以节省一些JS解析时间不太可能更快

  • 优化缓存的最佳方法是让您的大多数页面引用相同的常用脚本文件。然后,当查看器第一次访问您的站点时,这些文件将被加载一次,并且所有后续加载都直接来自浏览器缓存。这是理想的。这种缓存效率可以轻松克服一些未使用或未迁移的c在某些页面中未使用的主文件中的ode

  • 大量的小型下载(即使是从缓存中下载)的效率低于一次较大的下载。更多单独的请求通常对浏览器或服务器都没有那么高的效率。因此,将JS文件组合成较大的连接文件通常是一件好事

  • 所有这些都是有限制的。如果100个单独的页面有完全独立的代码,所有这些页面都连接在一起,并且每段代码都会在DOM中搜索多个页面元素(99%的时间都找不到它们),那么这可能也不是一种有效的方法。但是,通常,您可以根据高级类名将共享代码划分为类别,从而使共享代码更智能。因此,例如,根据
    标记上存在的类名,您将只运行部分初始化代码,跳过rest,因为它的分类不存在。因此,在组合代码时,明智的做法是明智地决定共享文件中实际运行的初始化代码


  • 至于从其他文件中读取无用的代码,难道一个JS文件不应该因为其他文件中包含过时的代码而变得更慢吗?