【发布时间】:2012-08-09 00:33:59
【问题描述】:
我正在开发一个相当大的网络应用程序,我将在其中使用 require.js,以便在它准备好投入生产后对其进行编译,但我想使用骨干关系。我也将使用骨干木偶,但我不确定它将如何包含在模块的定义功能中。
有人有这方面的经验吗?
【问题讨论】:
标签: backbone.js requirejs marionette backbone-relational
我正在开发一个相当大的网络应用程序,我将在其中使用 require.js,以便在它准备好投入生产后对其进行编译,但我想使用骨干关系。我也将使用骨干木偶,但我不确定它将如何包含在模块的定义功能中。
有人有这方面的经验吗?
【问题讨论】:
标签: backbone.js requirejs marionette backbone-relational
我正在使用带有 Relational 的 Backbone Marionette,并使用 Require.js 加载它们。基本思想是您需要确保已加载 Relational。一种方法是在定义关系模型时将关系作为一项要求。
在我的项目中,我创建了一个名为 bbloader.js(Backbone Loader)的简单脚本,用于加载所有相关的主干模型:
define([
'backbone',
'iosync',
'iobind',
'relational',
'marionette',
'marionette.async'
], function(Backbone) {
return Backbone;
});
然后在整个项目中,我需要 bbloader 而不是 Backbone。例如:
define([
'jquery',
'underscore',
'bbloader',
// ...
], function($, _, Backbone) {
// ...
});
Backbone Relational 已经与 AMD 兼容,因此您不需要在那里做任何额外的事情。
【讨论】:
Marionette 100% 支持 AMD。有一些关于启动和运行它的 wiki 页面,而且非常简单:
https://github.com/derickbailey/backbone.marionette/wiki/Using-marionette-with-requirejs
我认为 BB-R 也可以,但我不使用这个插件,所以我不能 100% 确定。
【讨论】: