【问题标题】:"Backbone is not defined" error with Backbone 1.1.2 and RequireJSBackbone 1.1.2 和 RequireJS 出现“未定义主干”错误
【发布时间】:2014-08-12 21:25:59
【问题描述】:

我刚刚从 Backbone 1.0 升级到 Backbone 1.1.2。

我使用 requireJS 并使用 r.js 来优化生产文件。

在我未优化的环境中,一切正常。

但是,在我使用 r.js 压缩文件后,我收到错误“Backbone is not defined”。

根据我的在线搜索,这似乎与 Backbone 1.1.1 中引入的 AMD 实现有关。建议好像是设置wrapShim: true(https://github.com/jrburke/r.js/issues/623)

但是,我已经尝试过了,但仍然遇到同样的错误。

关于如何解决此问题的任何建议?还是我应该坚持使用旧版本的骨干网?

【问题讨论】:

  • 我们遇到了同样令人沮丧的问题,我们得出的结论是 require.js 不适合使用。我们把它换成 browserify 和一个坚固的 grunt 构建,效果很好。我没有解决方案,只是想分享我的经验:)
  • 你试过更新requirejs,你用的是哪个版本? github.com/marionettejs/backbone.marionette/issues/… 似乎在这里它适用于 requirejs 2.1.11、杏仁骨干 1.1.2 和 wrapShim 配置属性
  • @khattab - 你是对的,我使用的是旧版本的 requirejs。我更新到较新的版本,它工作正常。谢谢!

标签: javascript backbone.js requirejs


【解决方案1】:

检查您使用的是 AMD 还是非 AMD 版本的 Backbone。您应该参考 Backbone 的方式将随之改变。假设它是非 AMD 版本的主干在全球范围内可用,在 AMD 版本中主干参考将不会在全球范围内可用,但在您定义和需要的任何地方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 2016-12-06
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多