【问题标题】:Backbone Marionette and Webpack - Uncaught TypeError: Cannot read property 'radio' of undefined骨干木偶和 Webpack - 未捕获的类型错误:无法读取未定义的属性“收音机”
【发布时间】:2016-06-18 13:32:50
【问题描述】:

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

Uncaught TypeError: Cannot read property 'radio' of undefined

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,并注意到 Marionette 库文件夹结构中的这种差异。

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

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

【问题讨论】:

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


    【解决方案1】:

    帮助将package.json 中的部门设置为:

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

    (完全移除主干层)

    【讨论】:

      【解决方案2】:

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

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

      我注意到如果没有别名,webpack 会在其输出文件中打包多个主干.js 副本。

      【讨论】:

        猜你喜欢
        • 2014-11-02
        • 2013-11-23
        • 1970-01-01
        • 1970-01-01
        • 2014-01-04
        • 1970-01-01
        • 2019-06-16
        • 2021-12-22
        • 2015-01-06
        相关资源
        最近更新 更多