0

我正在学习 Marionett,并试图坚持核心 amd 构建而不是 shim marionett。这是我的要求配置:

require.config({
  paths : {
    backbone : 'lib/backbone',
    underscore : 'lib/underscore',
    jquery : 'lib/jquery',
    marionette : 'lib/backbone.marionette',
    'backbone.wreqr' : 'lib/backbone.wreqr',
    'backbone.babysitter' : 'lib/backbone.babysitter',
    hbs : 'lib/hbs',
    Handlebars : 'lib/Handlebars'
  },
  shim : {
    jquery : {
      exports : 'jQuery'
    },
    underscore : {
      exports : '_'
    },
    backbone : {
      deps : ['jquery', 'underscore'],
      exports : 'Backbone'
    }
  },

  hbs: {
    disableI18n: true,

    disableHelpers: true

  }
});

当我创建如下应用程序模块时,我在木偶的应用程序模块中得到 Backbone 未定义:

define(["marionette", "views/CatCompositeView"], function (Marionette, CatCompositeView) {

  var app = new Marionette.Application();

  app.addRegions({
    mainRegion: '#content'
  });

  app.addInitializer(function(options){
    var catCompositeView = new CatCompositeView({
      collection: options.cats
    });

    app.mainRegion.show(catCompositeView);

  });

  return app;
});

有任何想法吗?我可以在填充木偶时让它全部工作,所以我现在很好,但想单独加载它。

更新:这是我在需要配置中最终执行此操作的方式:

require.config({
  paths : {
    backbone : 'lib/backbone',
    underscore : 'lib/underscore',
    jquery : 'lib/jquery',
    marionette : 'lib/backbone.marionette',
    'backbone.wreqr' : 'lib/backbone.wreqr',
    'backbone.babysitter' : 'lib/backbone.babysitter',
    hbs : 'lib/hbs',
    Handlebars : 'lib/Handlebars'
  },
  shim : {
    jquery : {
      exports : 'jQuery'
    },
    underscore : {
      exports : '_'
    },
    backbone : {
      deps : ['jquery', 'underscore'],
      exports : 'Backbone'
    },
    'backbone.wreqr': {
      deps : ['backbone']
    },
    'backbone.babysitter': {
      deps : ['backbone']
    }
  },

  hbs: {
    disableI18n: true,

    disableHelpers: true

  }
});
4

2 回答 2

0

你也需要垫片Backbone.Marionnette

marionette : {
  deps: ["backbone", "underscore"],
  exports: "Backbone.Marionette"
}
于 2013-04-30T17:25:25.413 回答
0

请参阅上面的更新。我需要添加骨干作为 wreqr 和保姆的依赖项以单独加载它们。

于 2013-05-01T13:51:59.070 回答