Backbone.js:`extend`未定义?

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

Uncaught TypeError: Cannot call method 'extend' of undefined第128行Uncaught TypeError: Cannot call method 'extend' of undefined

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

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

从@tjorriemorrie进一步澄清:我有下划线,但加载顺序错误,首先加载下划线(猜是什么'依赖'的意思:)


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

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

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

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

 <script src="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>