Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript应该按页面分成文件还是合并成一个文件?_Javascript_Jquery - Fatal编程技术网

Javascript应该按页面分成文件还是合并成一个文件?

Javascript应该按页面分成文件还是合并成一个文件?,javascript,jquery,Javascript,Jquery,假设没有重叠,我应该为每个页面分离js,并在每个页面上放置引用,而不是一个主文件吗?典型做法是什么?谢谢由于浏览器只会加载一次,因此站点每个页面的所有公共内容都应该放在一个文件中 特定于单个(或2个)页面的代码应该放在单独的文件中,只由需要它们的页面加载 我就是这样做的:使用浏览器的缓存来减少带宽,加速页面的加载和呈现 对于不经常访问的页面,加载javascript内联(在所有标记的底部),以获得最快的加载时间(与单独的.js脚本文件一样,只需少一个TCP连接) 对于经常点击的页面,则做相反的事

假设没有重叠,我应该为每个页面分离js,并在每个页面上放置引用,而不是一个主文件吗?典型做法是什么?谢谢

由于浏览器只会加载一次,因此站点每个页面的所有公共内容都应该放在一个文件中

特定于单个(或2个)页面的代码应该放在单独的文件中,只由需要它们的页面加载


我就是这样做的:使用浏览器的缓存来减少带宽,加速页面的加载和呈现

对于不经常访问的页面,加载javascript内联(在所有标记的底部),以获得最快的加载时间(与单独的.js脚本文件一样,只需少一个TCP连接)

对于经常点击的页面,则做相反的事情:引用.js脚本文件——在这种情况下,浏览器的缓存在页面加载的聚合中提供了更大的优势


在大型项目中,在单独的.js文件中开发javascript(例如,您可以使用模块模式),然后在生产中使用构建脚本将其编译成单个文件(或每个应用程序架构中的许多文件)。

这一切都取决于您拥有的应用程序类型。如果你的应用经常被访问,但访问时间很短,那么初始加载时间很重要,你应该尝试合并文件

但是,如果您希望用户一次在您的应用程序中花费数小时,并且初始加载时间并不重要,那么我建议您尽可能多地对您的.js文件进行分区,以使其可读—因为在初始加载之后,它们都将被缓存


不要相信那些炒作。除非你是一个谷歌搜索引擎,否则你应该小心不要为了几秒钟(或更少)的初始启动而牺牲可读性。换句话说,经验法则就是,不要神经质地遵循它们——首先思考:-)

这是一种平衡行为。1个文件可以减少HTTP开销,但如果原来是3个可缓存文件,并且您需要对其中一个文件进行一次更改,则用户必须重新下载所有3个文件的内容才能获得更改。如果是3个单独的文件,则只需下载修改过的文件。脚本也会阻塞,因此如果您可以将其中任何一个推到页面底部(可能需要拆分),则会有一个性能提升。使用单独的js文件进行开发的优点是,可以使用简单的构建脚本将它们合并为一个,但将单个文件拆分为多个部分要困难得多。