webentwicklung-frage-antwort-db.com.de

Backbone.js: `verlängern` undefiniert?

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, 
103
Matt Darby

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>
216
Matt Darby

Backbone-abhängig ist nur, dass Underscore.js das Skript underscorejs vor dem Skript backbonejs lädt

2
Somnath Kokane

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>
1
Haris Np