Backbone Marionette和RequireJS模块

Ada*_*ner 16 javascript requirejs backbone.js marionette

我正在与Marionette开始大规模的javascript应用程序.Marionette应用程序具有应用程序模块的概念,RequireJS也用于将代码分解为模块,

目前我有这个用于我的应用程序的开始:

require([ "jquery", "underscore", "backbone", "marionette" ],
function ($, _, Backbone, Marionette) {
    $(function() {

        App = new Marionette.Application();
        App.addInitializer(function(options) {
            App.addRegions({
                mainArea: "#mainArea"
            });
        });

        App.on("start", function() {
            // done starting up, do stuff here
        });

        App.start();
    });
});
Run Code Online (Sandbox Code Playgroud)

如果我想添加一个视图,我会在文件中执行以下操作吗?

require([ "jquery", "underscore", "backbone", "marionette" ],
function($, _, Backbone, Marionette) {

    App.module("FirstView", function(FirstView, App, Backbone, Marionette, $, _) {
        return Marionette.ItemView.extend({
            //define view stuff in here
         });
    });

});
Run Code Online (Sandbox Code Playgroud)

我不确定如何让这些代码实际运行,我们非常感谢任何帮助

Der*_*ley 23

Marionette的模块是RequireJS(和其他)模块格式的简单替代品.我不建议一起使用它们,如维基中所述:

https://github.com/marionettejs/backbone.marionette/wiki/AMD-Modules-vs-Marionette's-Modules

  • 关于AMD模块和Marionette模块的维基文章是否仍然存在?我在网上看过很多对它的引用,但这些链接不再起作用. (5认同)
  • @DerickBailey使用Marionette模块+ RequireJS还有什么好处?即停止模块的能力意味着我们可以释放内存. (3认同)
  • 这是使用Marionette和RequireJS的更新链接.(GitHub的储存库移动.)https://github.com/marionettejs/backbone.marionette/wiki/Using-marionette-with-requirejs (2认同)