Marionette - 调用布局扩展时出错 Marionette.LayoutView.extend

Marionette - error on call of Layout extend Marionette.LayoutView.extend

在我的应用程序中,我使用 Marionette Backbone 的扩展名。我使用 NPM 和 Browserify 安装了 backbone + marionette。我遇到的第一个错误是:

未捕获类型错误:无法读取未定义的 属性 'extend'

driver.js

require('./setup.js');

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


var TodoList = Backbone.Marionette.LayoutView.extend({
  el: '#app-hook',
  template: require('./app/templates/layout.html')
});

var todo = new TodoList({
  model: new Backbone.Model({
    items: [
      {assignee: 'Scott', text: 'Write a book about Marionette'},
      {assignee: 'Andrew', text: 'Do some coding'}
    ]
  })
});

todo.render();

使用命令 browserify driver.js -t node-underscorify -o static/app.js 编译项目没有错误。

请帮助我。谢谢你。

您能确认一下您使用的 Marionette 的版本吗?如果它的版本 3 LayoutView 已被删除,您应该改用 View

var TodoList = Backbone.Marionette.View.extend({
  el: '#app-hook',
  template: require('./app/templates/layout.html')
});

您可以在 upgrade guide.

中了解更多变化