如何在使用Browserify时修复Marionette中的路由

时间:2014-11-06 10:15:34

标签: backbone.js marionette browserify

我有一个Marionette项目,我尝试使用Browserify。 我的app.js:

var $ = require('jquery');
var Backbone = require('backbone');
Backbone.$ = $;
Marionette = require('backbone.marionette');

var Controller = require("./controller");
var Router = require("./routes");

var App = new Marionette.Application();

...

App.addRegions({
    header: "#header_region",
    side_menu: "#side_menu_region",
    main: "#main_region",
    footer: "#footer_region"
});

...

var controller = new Controller({});

App.addInitializer(function(options){
    ...
    var router = new Router({
        controller : controller
    });
});

App.on("start", function(){
    Backbone.history.start();
});

App.start({});

module.exports = App;

我的controller.js:

var headerView = require('./header/view');
var sideMenuView = require('./side_menu/view');

module.exports = function() {
    var Controller = Marionette.Controller.extend({
        showHome: function(){
            var header_view = new headerView();
            App.header.show(header_view);
            var side_menu_view = new sideMenuView();
            App.side_menu.show(side_menu_view);
        }
    });
    return Controller;
}

我的routes.js:

module.exports = function() {
    var Route = Marionette.AppRouter.extend({
        appRoutes: {
            '': 'showHome'
        }
    });
    return Route;
}

我的browserify命令: browserify app.js -o bundle.js

出于某种原因,我无法进入控制器内部的showHome函数。 因此,当我访问我的网站时,我会在控制台中找到一个没有任何错误的空白页面。

有人知道我错过了什么吗?

谢谢,Alex

0 个答案:

没有答案