与Require.js(AMD)的骨干关系

Tom*_*oli 3 requirejs backbone.js backbone-relational marionette

我正在开发一个相当大的Web应用程序,我将使用require.js,所以我可以在它准备好生产后编译它,但我想使用backbone-relational.我也将使用backbone-marionette,但我不确定它将如何包含在模块的define函数中.

有人对这个有经验么?

Ton*_*leh 7

我正在使用带有Relational的Backbone Marionette并使用Require.js加载它们.基本思想是您需要确保加载Relational.一种方法是在定义Relational模型时将Relational作为要求包含在内.

在我的项目中,我创建了一个名为bbloader.js(Backbone Loader)的简单脚本,它加载了所有相关的骨干模型:

define([
  'backbone',
  'iosync',
  'iobind',
  'relational',
  'marionette',
  'marionette.async'
  ], function(Backbone) {
    return Backbone;
});
Run Code Online (Sandbox Code Playgroud)

然后在整个项目中,我需要bbloader代替Backbone.例如:

define([
  'jquery',
  'underscore',
  'bbloader',
  // ...
], function($, _, Backbone) {
  // ...
});
Run Code Online (Sandbox Code Playgroud)

Backbone Relational已经与AMD兼容,所以你不需要做任何额外的事情.