Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.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_Performance_Project Files - Fatal编程技术网

项目中JavaScript的良好结构?

项目中JavaScript的良好结构?,javascript,performance,project-files,Javascript,Performance,Project Files,所以,我现在在我的网站上已经基本完成了JS。它涉及jQuery(以及.ready init) 页面分为两部分,上部主要是谷歌地图,下部是输入表单 所有这些目前都在一个.js中,函数、初始化、迭代等等。 它的结构很好,所有的一切都做得很好 然而,我的问题是:什么是好的结构? 我应该把上半部分放在一个文件里,下半部分放在另一个文件里吗? 或者我应该将所有需要的初始化放在.ready()下,并将所有函数放在另一个文件中? 或者我应该将所有内容保存在一个不断增长的文件中吗?我个人更喜欢将所有代码保存在一

所以,我现在在我的网站上已经基本完成了JS。它涉及jQuery(以及.ready init) 页面分为两部分,上部主要是谷歌地图,下部是输入表单

所有这些目前都在一个.js中,函数、初始化、迭代等等。 它的结构很好,所有的一切都做得很好

然而,我的问题是:什么是好的结构? 我应该把上半部分放在一个文件里,下半部分放在另一个文件里吗? 或者我应该将所有需要的初始化放在.ready()下,并将所有函数放在另一个文件中?
或者我应该将所有内容保存在一个不断增长的文件中吗?

我个人更喜欢将所有代码保存在一个文件中,因此浏览器只能获取一个文件,而不是两个/三个/四个/任何文件


但我认为这取决于个人喜好。

将脚本调用保持在最小值可以缩短处理时间——每个脚本包含的过程都是一个增加时间的往返过程。所以——个人偏好,只要你不在乎页面加载时间

雅虎从最小化HTTP请求开始:

80%的最终用户响应时间是 花在前端上。大部分 下载所有的文件都占用了时间 页面中的组件:图像, 样式表、脚本、Flash等。 减少中组件的数量 turn减少了HTTP的数量 呈现页面所需的请求。 这是加快页面速度的关键

一种减少 页面中的组件是为了简化 页面的设计。但是有办法吗 构建内容更丰富的页面 同时也实现了快速响应 时代?下面是一些用于 减少HTTP请求的数量, 同时仍然支持富页面 设计

组合文件是一种降低成本的方法 按组合的HTTP请求数 将所有脚本合并为单个脚本,以及 类似地,将所有CSS组合成一个 单一样式表。合并文件是必要的 当脚本和 样式表因页面而异, 但这是你释放的一部分 该过程提高了响应时间


从性能的角度来看,按照其他答案的建议,在一个文件中向浏览器提供所有JS是明智的。但是,如果代码不是以这种方式构建的,那么每个“类”都应该在一个单独的文件中,将内容拆分为实体和一两个控制文件来处理实际的页面调用,这与任何其他语言中的情况相同。然后,可以将这些内容提前或动态地组合到一个文件中以供提供,最好也将其最小化。

可能重复@Marius的内容-这个问题似乎假定所有内容都已包含在一个文件中;这个问题明确地提出了将事物分解成多个文件的问题。所以基本上只是“在一个文件中结构化”?或者有关于控制文件和JS的更深层次的信息吗?Javascript的工作原理与大多数脚本语言(PHP、Perl、bash等)类似,因为页面上包含的所有不同的
,在某种程度上只是按照引用的顺序组合一个页面,其作用域在顶层大致相同。因此,在一个文件中以相同的顺序将它们组合在一起,并在大多数情况下使用该方法效果良好。虽然我经常在JS文件中使用查询字符串,但这样做会破坏它。对于一个主要的JS繁重项目,我可以拥有完整的JS库。如果您查看jQuery源代码本身(),您将看到它被拆分为多个文件,但内置/编译为单个文件以供生产使用。请参阅可爱的Rakefile构建脚本()。