HTML5样板文件特定于页面的Javascript位置 问题:

HTML5样板文件特定于页面的Javascript位置 问题:,javascript,html5boilerplate,Javascript,Html5boilerplate,如果您使用一个javascript文件来保存所有脚本,那么您将只用于一个页面的脚本放在哪里 背景 这可能是一个意见或“最佳实践”的问题,但我对其他人的意见感兴趣: 我正在一个项目中使用。您可以将所有javascript放在一个文件script.js中,以提高速度和一致性。看起来很合理 然而,我有一点地理定位脚本,它只与一个页面相关,而与其他页面无关。我应该打破惯例,把这个脚本放在调用它所依赖的javascript库的页面下面吗?只需将对相关函数(位于script.js文件中)的调用放在它们所依赖

如果您使用一个javascript文件来保存所有脚本,那么您将只用于一个页面的脚本放在哪里

背景 这可能是一个意见或“最佳实践”的问题,但我对其他人的意见感兴趣:

我正在一个项目中使用。您可以将所有javascript放在一个文件
script.js
中,以提高速度和一致性。看起来很合理

然而,我有一点地理定位脚本,它只与一个页面相关,而与其他页面无关。我应该打破惯例,把这个脚本放在调用它所依赖的javascript库的页面下面吗?只需将对相关函数(位于
script.js
文件中)的调用放在它们所依赖的库的链接下面


谢谢

浏览器将只下载一次.js文件(除非发生阻止浏览器缓存的情况)。因此,如果您希望您的所有用户在会话期间的某个时间访问使用地理位置的某个页面,那么您最好尽早将其提供给他们。如果您希望可能有一小部分用户最终访问地理位置页面,那么您可能希望将其拆分。

将其拆分为一个单独的.js文件,以便缓存。然后引用页面中的两个外部.js文件。

我认为您应该将其放在一个单独的文件中。将所有脚本放在一个文件中可能会导致意外行为和冲突。我希望所有页面都使用一个包含插件、助手函数、格式化函数等的javascript脚本文件,然后为每个页面相关的所有内容创建一个单独的js文件


如果您仍然希望浏览器中只有一个js文件,您可以利用将多个js文件合并为一个的实用程序。

html5样板文件的好手建议将所有javascript放在script.js中,这样浏览器只需加载一个文件(以及h5bp使用的其他文件)并允许缓存该文件

这样做的目的是不要陷入“推荐”的方式,而是考虑与您自己的应用程序相关的事情

  • 这个地理位置文件只在这一页上使用,对吗?它永远不会在其他任何地方使用
  • script.js文件将在多个页面上使用
那么,在script.js文件的一个页面上放一个“整个脚本”是没有意义的。您应该将文件设置为外部文件,并在需要的页面上单独调用它。这将防止script.js文件因该用户可能永远不会使用的功能而膨胀

但是,如果地理定位功能的“整个脚本”非常小,那么请将其包含在script.js中。如果它不能提高该文件的下载速度,那么将其包含在其中是有意义的

所有这些的要点是,我的应用程序的最佳权衡是什么?

我们知道这些事情是真实的:

  • 缓存的js文件很好
  • 下载的文件越少越好
  • 下载较小的文件是好的
  • 维护很重要

一旦您从应用程序的角度考虑这些问题,决策就会变得容易一些。请记住,权衡毫秒的决定不会对用户对页面速度的“感知”产生太大影响

推荐阅读AMD模式,并使用requireJS,您可以异步加载仅与一页相关的脚本,并使用其优化项目将代码保存在同一文件中。感谢您在此提供的扩展和周到的回复。很好地解释了权衡和思维过程。