我正在开发一个相当大的网络应用程序,我将在其中使用require.js,因此我可以在它准备好生产后编译它,但我想使用骨干关系。我也将使用backbone-marionette,但我不确定它将如何包含在模块的define函数中。
有没有人有这方面的经验?
答案 0 :(得分: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;
});
然后在整个项目中,我需要bbloader
而不是Backbone。例如:
define([
'jquery',
'underscore',
'bbloader',
// ...
], function($, _, Backbone) {
// ...
});
Backbone Relational已经与AMD兼容,所以你不需要做任何额外的事情。
答案 1 :(得分:0)
Marionette 100%支持AMD。有一些维基页面可以启动和运行,而且非常简单:
https://github.com/derickbailey/backbone.marionette/wiki/Using-marionette-with-requirejs
我认为BB-R也可以,但我不使用这个插件,所以我不是百分之百确定。