Ich fange gerade mit Backbone.js an. Das einfache Einbeziehen von Backbone (entweder Entwickler- oder Produktionsversion) verursacht den Fehler:
Uncaught TypeError: Cannot call method 'extend' of undefined
in Zeile 128:
// Attach all inheritable methods to the Model prototype
_.extend(Backbone.Model.prototype, Backbone.Events,
Das Problem war, dass ich nicht lade underscore.js
. Ich habe diese Abhängigkeit in den Dokumenten total vermisst. Duh.
Weitere Klarstellung von @tjorriemorrie: Ich hatte Unterstrich, aber in der falschen Reihenfolge geladen, zuerst Unterstrich laden (denke, das ist, was "Abhängigkeit" bedeutet :)
Weitere Klarstellung für den Fall, dass dies nicht offensichtlich ist. Die Reihenfolge, in der die Objekte in JavaScript geladen werden, bezieht sich auf die Reihenfolge, in der sie auf der Seite angezeigt werden. Um den Unterstrich zuerst zu laden, stellen Sie sicher, dass das Skript-Tag einschließlich des Skripts vor demjenigen steht, das das Backbone lädt. So was:
<script src="underscore-1.4.4-min.js"></script>
<script src="backbone-1.0.0-min.js"></script>
Backbone-abhängig ist nur, dass Underscore.js das Skript underscorejs vor dem Skript backbonejs lädt
Die Reihenfolge ist auch wichtig. Ich habe den gleichen Fehler erhalten und er wurde erst behoben, als ich unterstrichene.js vor backbone.js angegeben habe.
<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>