使用Require.js (AMD)加载Backbone-relational

3

我正在开发一个相当大的Web应用程序,将使用require.js以便在准备就绪后对其进行编译,但我想使用backbone-relational。 我还将使用backbone-marionette,但我不知道它将如何包含在模块的define函数中。

有谁有相关经验吗?

2个回答

7
我正在使用Backbone Marionette与Relational,并使用Require.js进行加载。基本思路是确保已经加载了Relational。其中一种方法是在定义Relational模型时将Relational作为必需项引入。
在我的项目中,我创建了一个简单的脚本叫做“bbloader.js”(Backbone Loader),用于加载所有相关的Backbone模型:
define([
  'backbone',
  'iosync',
  'iobind',
  'relational',
  'marionette',
  'marionette.async'
  ], function(Backbone) {
    return Backbone;
});

在整个项目中,我需要使用bbloader而不是Backbone。例如:

define([
  'jquery',
  'underscore',
  'bbloader',
  // ...
], function($, _, Backbone) {
  // ...
});

Backbone Relational已经兼容AMD,所以你不需要额外处理。


如果backbone-relational符合AMD标准,为什么还需要一个AMD分支? - ckarbass
我很好奇你的require.config设置是什么样子的,特别是你如何shim这些模块。 - adekom

0

是的,我已经成功地让Marionette工作了。但我不确定它是否能与backbone-relational很好地配合使用。我找不到有关将其作为AMD模块运行的最新信息,即使我找到了,我也不完全理解如何包含它(以覆盖默认的backbone内容)。感谢您的快速回复! - Tom Brunoli
我明白。我知道bb-r可以与Marionette一起使用,因为我的几个客户正在将它们一起使用。但除此之外,我对bb-r无法多加评论。 - Derick Bailey
1
Backbone relational 可与 require.js 兼容。我在上一个项目中使用了它,没有遇到任何问题。这里是如何将 relational 包装为模块的链接。AMD BBRelational - jmk2142
你凭什么说:“Marionette 100%支持AMD”? - benhowdle89

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接