Backbone历史没有开始

Backbone history do not start

我是 Backbone 的新手,这让我抓狂: 我正在使用 backbone 和 Marionette。 这是开始的一些代码示例:

var Backbone    = require('backbone'),
    Marionette  = require('backbone.marionette'),
    FastClick   = require('fastclick');

var MainModule      = require('./modules/main'),
    HomeModule      = require('./modules/home');

var app = new Marionette.Application();

app.vent.on('ready', function(e) {
    Backbone.history.start({
        pushState: true, // Use HTML5 history if available
        hashChange: false, // or refresh pages if it isnt supported natively
        root: '/',
    })
});

在我的 /module/home/index.js 中:

module.exports = function HomeModule(Module, App, Backbone, Marionette, $, _) {

// Register Sub modules
App.module('Home', LayoutModule);
App.module('Home', WallModule);

Module.Router = Marionette.AppRouter.extend({
    appRoutes: {
        '/': 'home',
        'social-wall': 'socialwall'
    }
});

var controller = {
    home: function() {
        App.mainRegion.show(new Module.Layout());
    },

    socialwall: function() {
        controller.home();
        App.mainRegion.currentView.scrollToSocialWall();
    }
};

App.addInitializer(function() {
    new Module.Router({ controller: controller });
});
};

问题是 Backbone.history.start 没有触发任何东西。如果我正确理解代码,history.start() 应该在 HomeModule 中找到 '/' 路由并触发相关函数......我错了吗? 为什么这不起作用?????

提前,谢谢

找到了! 正如我在评论中所说,这是一个部署错误。错误是 npm 安装上的错误 package.json 文件。 给前端开发者的提示:当你制作一个 npm 包来安装和部署一个 Marionette 项目时,一定要首先包含 Backbone,并且有一个明确的版本......只包含 [=15] =] 将导致 npm 安装 Backbone 两次(在项目根目录和 marionette 模块中),这是大麻烦的根源...