1

我正在使用不同的基于 OO 的语言开发桌面软件。从最近开始,我就没有接触过 Web 开发。我刚开始玩jQueryjQuery Mobile构建简单的 Web 应用程序。

我注意到我的项目通常以一个 HTML 文件作为基础和一个包含方法、事件处理程序等的 *.js 文件结束。这有点像编程意大利面条代码,我想不出这怎么能用更多复杂的项目。(可重用性,性能,...)

通常的 jQuery-Tutorials 只是展示了一些简单的例子,这些例子可以很好地与“将所有方法放入一个脚本文件”的方法中。我还在某处读到,最好只提供一个大文件,因为只加载一个文件而不是很多小文件会更快。

有人能告诉我 jQuery 项目的结构有多大吗?原因是什么?

4

1 回答 1

4

我将尝试将您的问题分解为较小的部分:

“我注意到我的项目通常以一个 HTML 文件作为基础和一个包含方法、事件处理程序等的 *.js 文件结束。这有点像编程意大利面条代码,我想不出这怎么能用更复杂的项目。”

听起来你的 OO 背景已经被你宠坏了。Javascript 不会强迫你使用它的原型继承,jQuery 也不会。尽管如此,它还是存在的。Douglas Crockford 写了一篇关于从经典的以 OO 为中心的继承到原型等价物的文章:Javascript 中的原型继承

“通常的 jQuery-Tutorials 只是展示了一些简单的例子,这些例子可以很好地与“所有方法都放在一个脚本文件中”-方法一起使用。”

是的,将所有代码放在一个文件中对于小型网站或网络应用程序来说可以正常工作,但它无法扩展。

但是,这与将所有 C 方法声明放在一个头文件中并将所有代码放在一个源文件中没有区别。我的意思是你也没有。

我建议你看看像RequireJS这样的脚本加载器来解决这个问题。在最坏的情况下,将脚本标签内联到 HTML 代码中仍然没有问题,但这也不能很好地扩展。

“我还在某处读到,最好只提供一个大文件,因为只加载一个文件而不是很多小文件会更快。”

嗯......是的,但在大多数情况下这可以忽略不计。即使您确实看到性能下降,为什么要将您的开发代码视为您的产品?使用YUI Compressor等压缩工具来压缩和合并您的 JavaScript。没有污染的更小的加载时间。

最后一条建议:jQuery 不会帮助您解决 JavaScript 架构问题,就像字典不会帮助您构建句子一样。(换句话说,不要依赖 jQuery 示例来教你良好的 JavaScript 实践)。

于 2013-02-16T15:08:35.013 回答