2013-04-30 72 views
0

我在学习Marionett,并试图坚持核心和建设,而不是垫片marionett。这里是我的要求配置:建立核心AMD构建Marionette Js的正确方法?

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 

    } 
}); 

我越来越骨干是不明确的提线木偶的应用模块中,当我创建一个应用程序模块如下:

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 

    } 
}); 

回答

0

你需要垫片Backbone.Marionnette太:

marionette : { 
    deps: ["backbone", "underscore"], 
    exports: "Backbone.Marionette" 
} 
+0

我的工作方式是使用shim的方式,但是,在https://github.com/marionettejs/backbone.marionette/wiki/Using-marionette-with-requirejs下和高级用法,它似乎表明你不必这样做。 – 2013-04-30 18:18:25

+0

@simon:对,就是这样做的,但是对木偶的依赖关系是骨干,wreqr和保姆,只要下划线是骨干的直接依赖 – zobidafly 2015-03-12 09:55:53

+0

@Kelly:“你不必这样做” ...但它的工作原理! – zobidafly 2015-03-12 09:58:32

0

见更新以上。我需要添加主干作为wreqr和保姆的依赖项来单独加载它们。