Backbone Marionette和Webpack - Uncaught TypeError:无法读取属性' radio'未定义的

时间:2016-03-04 17:31:58

标签: jquery node.js backbone.js marionette webpack

我最近在 webpack / backbone / marionette 项目上做了 npm install ,一切都破了。我现在在应用程序运行时不断收到此错误:

未捕获的TypeError:无法读取属性' radio'未定义的

backbone.marionette.js第3328行

this.channel = _.result(this, 'channel') || Backbone.Wreqr.radio.channel(this.channelName);

Backbone :1.2.3(我也尝试了今天的1.3.1全新版本)

木偶:2.4.4

Webpack :1.12.14

我很幸运得到了我的旧node_modules的备份,并注意到牵线木偶库文件夹结构中的这种差异。

enter image description here

知道发生了什么事吗?我没有触及我的package.json我只是重新运行了npm install,看起来像是npm / node的新版本。

更新 我发现这个帖子至少有一个人有完全相同的问题,但我仍然没有解决方案 https://github.com/marionettejs/backbone.marionette/issues/2559

2 个答案:

答案 0 :(得分:2)

我通过在webpack配置文件中添加别名来解决这个问题。

alias: {
    backbone: path.join(__dirname, 'node_modules', 'backbone', 'backbone')
}

我注意到webpack在其输出文件中包含了多个backbone.js副本(如果没有别名)。

答案 1 :(得分:1)

帮助将package.json中的代表设置为:

 "dependencies": {
    "backbone.marionette": "^2.4.4",
    "jquery": "^2.2.1",
    "underscore": "^1.8.3"
  }

(完全删除了主干部分)