6

好的,我正试图了解整个backboneJS的事情。我知道您必须将您的网站分成模块并将每个模块分解为模型、集合和视图,如本示例中所述。

我的 JS 文件结构目前如下所示:

-js
  -application.js

  -lib
    -jquery.min.js
    -backbone.min.js
    -underscore.min.js

  -modules
    -newsfeed.js //activity feed
    -file.js // page to upload files to
    -members.js // page that show other members of group
    //-general-site-logic.js??

我有两个问题:

  1. 是否应该从BackboneJS控制所有应用程序逻辑?如果不是,那么这个单独的逻辑应该驻留在我的应用程序结构中的什么位置?当然骨干网无法控制您的所有客户端活动。不涉及任何集合的活动呢?

  2. 在使用 BackboneJS 时我是否应该使用RequireJS来管理模块?我找到了这个例子,但它似乎使已经令人困惑的 Backbone 概念更加复杂。

我即将着手开发一个非常繁重的 javascript 应用程序,并且真的想在我的代码开始流行之前把它做好!

4

2 回答 2

8

Backbone 的伟大之处在于它只是一组有用的部分,您可以根据需要将它们组合在一起。你可以随心所欲地组织它。

当然骨干网无法控制您的所有客户端活动。

为什么不?我有一个相当大的客户端应用程序,其中所有代码(除了 jQuery 插件等)都是使用 Backbone 构造(视图、模型、集合、路由器)编写的。

在我们的例子中,我们使用的是 Rails,所以我们不需要担心需要其他 JS 文件。我们将项目分解为许多 js(咖啡)文件,“资产管道”将它们全部合并到一个 js 文件中。(我们确实需要告诉资产管道一些排序规则,但是......集合之前的模型,视图之前的集合等)

当我们这样做时,我们有以下设置:

-assets
  -javascripts
    -backbone
      -collections
      -helpers
      -models
      -routers
      -templates
      -views
      -bootstrapper.js

当然,我们就是这样做的。对于较大的项目,我总是知道在哪里可以找到我的组件,我们会在其中为不同的子视图创建子文件夹。例如:

-views
  -people
    -people_list.js
    -people_item.js
  -orders
    -order_list.js
    -order_item.js
    -order_form.js

但是,在较小的项目中,您可以将所有内容放在一个 JS 文件中,这不是问题。大多数玩具示例都是这样排列的。

中间布局可能是您将模型与视图分开的地方,如下所示:

-models.js // models and collections
-routers.js
-views.js

我想你应该从中得到的是:“随心所欲地组织”。做对项目规模和团队对组织的理解有意义的事情。

Backbone 提供结构。但是,对于该结构的设计方式,并没有固执己见。

于 2011-10-14T10:47:02.373 回答
0

如果它有帮助,我有一个bootstrap项目启动器,它集成了backbone.js、coffeescript、sinatra、jasmine 和skeleton

它将帮助您开始项目结构并节省您集成技术堆栈的时间。还使用骨架 css 进行响应式设计。

于 2012-07-01T11:52:13.520 回答