开发者

Backbone.js: `extend` undefined?

开发者 https://www.devze.com 2023-02-08 17:02 出处:网络
Just getting started with Backbone.js. Simply including Backbone (either dev/production versions) causes the error:

Just getting started with Backbone.js. Simply including Backbone (either dev/production versions) causes the error:

Uncaught TypeError: Cannot call method 'extend' of undefined on Line 128:

// A开发者_开发百科ttach all inheritable methods to the Model prototype
_.extend(Backbone.Model.prototype, Backbone.Events, 


The issue was that I wasn't loading underscore.js. I totally missed that dependency in the docs. Duh.

Further clarification from @tjorriemorrie: I had underscore, but loaded in the wrong order, first load underscore (guess that is what 'dependency' means :)


Further Clarification just in case this isn't obvious. The order that things are loaded in JavaScript relates to the order the show up on the page. To load underscore first, be sure that the script tag including it comes before the one loading backbone. Like this:

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


Backbone only hard dependency is Underscore.js load underscorejs script before backbonejs script


The order is also important. I got the same error and it was was not resolved until I gave the underscore.js before backbone.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>
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号