Ich fange gerade mit Backbone.js an. Das einfache Einschließen von Backbone (entweder Entwicklungs- / 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,
javascript
backbone.js
Matt Darby
quelle
quelle
Antworten:
Das Problem war, dass ich nicht geladen habe
underscore.js
. Ich habe diese Abhängigkeit in den Dokumenten total vermisst. Duh.Weitere Klarstellung von @tjorriemorrie: Ich hatte einen Unterstrich, aber in der falschen Reihenfolge geladen, zuerst den Unterstrich laden (denke, das ist, was "Abhängigkeit" bedeutet :)
Weitere Klarstellung für den Fall, dass dies nicht offensichtlich ist. Die Reihenfolge, in der Dinge in JavaScript geladen werden, bezieht sich auf die Reihenfolge, in der sie auf der Seite angezeigt werden. Um zuerst den Unterstrich zu laden, stellen Sie sicher, dass das Skript-Tag einschließlich des vorangestellten Backbones steht. So was:
quelle
Die einzige harte Abhängigkeit von Backbone ist, dass Underscore.js Unterstrichskript vor Backbonejs Skript lädt
quelle
Die Reihenfolge ist auch wichtig. Ich habe den gleichen Fehler erhalten und er wurde erst behoben, als ich den Unterstrich.js vor backbone.js angegeben habe.
quelle