我正在构建一个单页 Web 应用程序,其中一个要求是 jQuery、jQuery-ui 以及我决定在开发过程中使用的任何 jquery 插件。
我还在研究 RequireJS 和 Backbone 来形成应用程序的 MVC 结构。 虽然我毫不怀疑 RequireJS 在加载我创建的 Backbone MVC 模块方面非常有用,但我对使用它来加载 jQuery 及其插件并不感兴趣。
这是因为我认为 jQuery 可以在全局命名空间中使用,因为它将在整个应用程序的任何地方使用。
所以我的问题是:在模块化组件和我认为必要的全局组件 jQuery 之间进行这样的分离可以吗?
最佳答案
我们做了类似的事情,并且不使用 require 来加载“全局”组件,例如 jQuery 和下划线,尽管我们确实使用 require 来加载我们的模块。我认为这两种方法都是有效的(是否使用 require 加载 jQuery)。
选择 requireJS 来加载自定义模块的原因之一是因为您希望在构建和部署过程中运行优化器,以最大限度地减少应用程序必须加载的脚本文件的数量。优化器(例如 r.js)可以跟踪您指定给 requireJS 的依赖项,以帮助确定要创建哪些捆绑的 JS 文件。如果您使用多个第 3 方库,您可能希望将它们捆绑在一起到单个 JS 文件中。这将是选择使用 requireJS 加载 jQuery 的原因之一。
否则,我认为这取决于您的喜好。如果您在应用程序中使用 requireJS,我不知道为什么您“应该”使用 requireJS 来加载 jQuery。
我建议阅读这份文档。它更多的是关于如何而不是为什么,但它仍然是有用的信息:http://requirejs.org/docs/jquery.html
关于jquery - 我应该通过 RequireJS 加载所有内容(包括 jQuery)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13185850/