Javascript 现在在外部文件中为多个页面存储文档

Javascript 现在在外部文件中为多个页面存储文档,javascript,jquery,Javascript,Jquery,我的10-15页中的每一页都有100-200行js,其中$(document).ready() 将它们合并到一个外部文件中是否明智?我不明白这是怎么回事。难道浏览器不需要一次检查所有内容,即使是当前页面上没有的功能?第二个问题可能是功能冲突 请给我一些如何处理的技巧。如果js文件太大,您可以将这些行拆分为多个文件。 请注意,100-200行非常小。如果代码的大小对您来说非常重要,那么您应该缩小代码 “我们应该忘记小效率,比如说97%的时间:过早 优化是万恶之源” 关于函数冲突,请使用名称空间和闭

我的10-15页中的每一页都有100-200行js,其中
$(document).ready()

将它们合并到一个外部文件中是否明智?我不明白这是怎么回事。难道浏览器不需要一次检查所有内容,即使是当前页面上没有的功能?第二个问题可能是功能冲突


请给我一些如何处理的技巧。

如果js文件太大,您可以将这些行拆分为多个文件。
请注意,100-200行非常小。如果代码的大小对您来说非常重要,那么您应该缩小代码

“我们应该忘记小效率,比如说97%的时间:过早 优化是万恶之源”


关于函数冲突,请使用名称空间和闭包,并尽可能保持全局对象干净。

如果js文件太大,可以将这些行拆分为多个文件。
请注意,100-200行非常小。如果代码的大小对您来说非常重要,那么您应该缩小代码

“我们应该忘记小效率,比如说97%的时间:过早 优化是万恶之源”

关于函数冲突,请使用名称空间和闭包,并尽可能保持全局对象干净。

明智吗?对 你给了浏览器一个大的可缓存块,他不必再担心是什么提高了页面加载速度。 将所有onload事件放在不同名称的函数中,并从相关页面调用它们,或者在不同页面上重用函数(如果必须这样做)。

这是否明智?对 你给了浏览器一个大的可缓存块,他不必再担心是什么提高了页面加载速度。
将所有onload事件放在不同名称的函数中,并从相关页面调用它们,或者在不同页面上重用函数(如果必须这样做)。

您必须研究各种各样的问题

首先,尽可能删除ex jquery的所有js到公共cdn 其次,始终缩小并将所有js合并到一个文件中(同样适用于css)

这里的优点是,如果您有10个js文件浏览器,则必须发出10个请求并分别接收每个文件。更不用说移动设备中每个域的请求数了


在另一端,如果所有文件都作为一个文件发送,则只有一个请求。您是对的,执行(或至少检查所有onready文件)将花费大量时间,但此处理时间远低于文件不同时的请求时间

有很多事情你必须调查

首先,尽可能删除ex jquery的所有js到公共cdn 其次,始终缩小并将所有js合并到一个文件中(同样适用于css)

这里的优点是,如果您有10个js文件浏览器,则必须发出10个请求并分别接收每个文件。更不用说移动设备中每个域的请求数了



在另一端,如果所有文件都作为一个文件发送,则只有一个请求。您是对的,执行(或至少检查所有onready文件)将花费大量时间,但此处理时间远低于文件不同时的请求时间

我只会在这样做会减少总体代码的情况下将它们结合起来,例如,可重用代码与将同一代码复制到多个文件中相比。@KevinB每个页面的代码都不同,但我可以从使其可缓存中获益。您还可以研究使所有表单处理程序使用相同的代码,惰性绑定ui小部件,如日期选择器和自动完成字段等。只有在减少总体代码时,我才会合并它们,例如,可重用代码与将同一代码复制到多个文件相比。@KevinB每个页面的代码不同,但我可以从使其可缓存中获益。您还可以研究一些事情,例如使所有表单处理程序使用相同的代码,惰性绑定ui小部件,如日期选择器和自动完成字段等。我不关心外部文件的大小。而是关于提高每个页面的页面加载速度(它们被频繁使用)。但我不确定将所有内容放在一个文件中是否真的能加快速度,因为在全球范围内会有很多东西。它会加速事情的发展。此文件将下载一次,对于所有其他页面,它将被缓存。您是否建议将每个页面的代码放在组合文件中的单独函数中,然后在需要时进行调用?@domino。如果一个页面中的代码不能被其他页面重用,则为“是”。我会使用一个带有基础结构函数的“全局”js文件,并为每个函数添加一个带有特定函数的js文件。我不关心外部文件的大小。而是关于提高每个页面的页面加载速度(它们被频繁使用)。但我不确定将所有内容放在一个文件中是否真的能加快速度,因为在全球范围内会有很多东西。它会加速事情的发展。此文件将下载一次,对于所有其他页面,它将被缓存。您是否建议将每个页面的代码放在组合文件中的单独函数中,然后在需要时进行调用?@domino。如果一个页面中的代码不能被其他页面重用,则为“是”。我会使用一个带有基础结构函数的“全局”js文件,并为每个函数添加一个带有特定函数的js文件。更容易保持干净。我喜欢功能的想法,没想过。更容易保持干净。我使用headjs并行加载所有内容。我使用headjs并行加载所有内容。