【发布时间】:2013-01-28 12:50:14
【问题描述】:
我是主干新手,但看过几个关于它的教程截屏视频,包括有和没有 requirejs。
我的问题涉及设置结构(如果使用需要,则包括文件结构和/或变量/对象结构)。
我看过的大部分教程,似乎更喜欢 App.Models、App.Collections 和 App.Views 的方法,而且里面的每一项都有模块的名称:即,
App.Models.todo = Backbone.Model.extend({...});
App.Collections.todos = Backbone.Collection.extend({...});
App.Views.todo = Backbone.View.extend({...});
经过一番研究,试图找到与我想使用的风格相同的人,我终于找到了:File structure for a web app using requirejs and backbone。他们似乎更喜欢 App.[Module Name] 方法:即,
App.Todo.Model = Backbone.Model.extend({...});
App.Todo.Collection = Backbone.Collection.extend({...});
App.Todo.Views = Backbone.View.extend({...});
我个人更喜欢 App.[Module Name] 结构而不是拆分我的模块,但我想知道拥有不同结构的好处(如果有的话)。
您使用哪种结构,它对您过去可能见过或使用的不同结构有何帮助?
【问题讨论】:
-
这主要是个人喜好问题。我认为你只会得到一堆意见。
-
这是工作流程的问题。您可以按组件类型 (
App.Models.*)(即一名开发人员主要处理视图,其他人处理模型)进行根植,或者您针对上下文进行优化(App.Accounts.Model)以保持事物(业务)的逻辑分组。但就像@muistooshort 所说,这个问题无法客观回答,因此并不适合StackOverflow 格式。 -
我同意大多数答案都是意见。我只是想看看是否对另一个有任何实际好处,是否有一些我没有见过的“最佳实践”,或者它是否是 100% 的意见(“无论你喜欢什么”) .
-
@PaulWitschger,没有深入到理论上的文化相对主义,我想说这只是意见。显然有更好和更坏的方法。例如,我不建议使用 GUID 命名所有文件,但在您建议的两种方式之间,这取决于您。我做
App.{Module}.*,FWIW。 -
这里有一个资源可以作为起点:backbonetutorials.com/organizing-backbone-using-modules
标签: backbone.js