Backbone.js:`extend` undefined?

时间:2011-02-02 14:41:46

标签: javascript backbone.js

刚开始使用Backbone.js。简单地包括Backbone(dev / production版本)会导致错误:

第128行的

Uncaught TypeError: Cannot call method 'extend' of undefined

// Attach all inheritable methods to the Model prototype
_.extend(Backbone.Model.prototype, Backbone.Events, 

3 个答案:

答案 0 :(得分:216)

问题是我没有加载underscore.js。我完全错过了文档中的依赖。咄。

来自@tjorriemorrie的进一步澄清: 我有下划线,但加载顺序错误,首先加载下划线(猜猜这就是'依赖'意味着:)


进一步澄清以防万一这不明显。 JavaScript中加载内容的顺序与页面上显示的顺序有关。要首先加载下划线,请确保包含它的脚本标记位于一个加载主干之前。像这样:

<script src="underscore-1.4.4-min.js"></script>
<script src="backbone-1.0.0-min.js"></script>

答案 1 :(得分:2)

Backbone只有硬依赖是Underscore.js 在backbonejs脚本之前加载underscorejs脚本

答案 2 :(得分:1)

订单也很重要。我得到了同样的错误,直到我在backbone.js之前给了underscore.js它才解决。

<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js" type="text/javascript"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js" type="text/javascript"></script>