我正在开发一个大型 Backbone.js 应用程序。代码是模块化结构的,使用require.js
. 现在我看到很多主干代码和教程这样做:
window.app = ( window.app || {} );
在他们将模型定义和 Collection 实例分配给该全局对象之后,如下所示:
Task = Backbone.Model.extend({ /*...*/ });
Tasks = Backbone.Collection.extend({ /*...*/ });
window.app.Task = Task;
window.app.Tasks = new Tasks();
// do this with all your models and collections
我喜欢这种方法,因为它很简单,而且不必处理在何时何地实例化一个集合。但是,首先使用将代码分成微小的位,然后将所有代码一起分配给全局变量,这似乎是错误的require.js
(除了全局变量在javascript中通常是不好的代码样式)。
那么您对此有何看法,这种方法的优缺点是什么,您如何处理 Backbone 中的对象?