【问题标题】:How bigger jQuery projects are structured and what the reasons for that [closed]更大的 jQuery 项目的结构如何以及其原因是什么 [关闭]
【发布时间】:2013-02-01 09:51:23
【问题描述】:

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

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

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

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

【问题讨论】:

  • 实际上,许多大型项目由多个源文件组成,这些源文件被缩小并连接到一个文件中以进行分发。
  • 我认为这是一个完全有效的问题,不值得反对。它应该得到一个更好的标题。
  • @rcdmk:感谢您的贡献。通常很难为问题标题找到合适的词。我经常注意到在问题得到回答后标题会更合适(并且我对这个问题的想法已经经历了一些迭代)

标签: javascript jquery architecture


【解决方案1】:

我会尝试将您的问题分解成更小的部分:

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

听起来你的 OO 背景已经被你宠坏了。 Javascript 不会强迫你使用它的原型继承,jQuery 也不会。然而,它就在那里。 Douglas Crockford 写了一篇关于从以 OO 为中心的经典继承到原型等价物的文章:Prototypal Inheritance in Javascript

“通常的 jQuery-Tutorials 只是展示了一些简单的例子,它们与“所有方法都放在一个脚本文件中”的方法很相配。”

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

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

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

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

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

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

【讨论】:

  • +1 对于“不要依赖 jQuery 示例来教你好的 JavaScript 实践”
  • 这清楚了很多。感谢您的链接,我正在阅读
猜你喜欢
  • 1970-01-01
  • 2019-02-13
  • 1970-01-01
  • 2017-04-15
  • 2015-12-19
  • 1970-01-01
  • 1970-01-01
  • 2017-11-22
  • 1970-01-01
相关资源
最近更新 更多