Я новичок в Marionette, и я просто не могу заставить маршруты работать.
Я использую версию Marionette 2.4.1 и пытаюсь сделать это максимально простым способом, чтобы он просто работал.
Этот код работает для старой версии Marionette, v1.0.2, которая была включена в один из генераторов йоменов. Я знаю, что между этими двумя версиями существует огромный разрыв, но для каждого поста, блога, официальной документации и даже книг, написанных для этого фреймворка, код остается неизменным.
Ошибок в консоли нет, но 'домашний' метод просто не запускается.
Я что-то упустил здесь?
application.js (тело приложения):
define(['backbone', 'marionette'],
function (Backbone, Marionette) {
'use strict';
var App = new Marionette.Application();
App.Router = Marionette.AppRouter.extend({
appRoutes: {
"home": "home"
}
});
var myController = {
"home": function() {
console.log("This thing just won't work.");
}
};
/* Add initializers here */
App.addInitializer(function () {
console.log('App initialized');
new App.Router({
controller: myController
});
});
App.on("initialize:after", function () {
if (Backbone.history) {
Backbone.history.start();
}
});
return App;
});
main.js (запускает наше приложение, определенное в application.js):
require(['marionette', 'application'],
function ( Marionette, App ) {
'use strict';
App.start();
});
config.js (Конфиг для require.js)
require.config({
baseUrl: "/scripts",
/* starting point for application */
deps: ['marionette', 'main'],
shim: {
backbone: {
deps: [
'underscore',
'jquery'
],
exports: 'Backbone'
},
marionette: {
deps: ['backbone'],
exports: 'Marionette'
}
},
paths: {
backbone: '../bower_components/backbone/backbone',
jquery: '../bower_components/jquery/dist/jquery',
underscore: '../bower_components/underscore/underscore',
/* alias all marionette libs */
'marionette': '../bower_components/marionette/lib/core/backbone.marionette',
'backbone.wreqr': '../bower_components/backbone.wreqr/lib/backbone.wreqr',
'backbone.babysitter': '../bower_components/backbone.babysitter/lib/backbone.babysitter'
}
});