刚开始使用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,
答案 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>