Apenas começando com o Backbone.js. A simples inclusão do Backbone (nas versões de desenvolvimento / produção) causa o erro:
Uncaught TypeError: Cannot call method 'extend' of undefined
na linha 128:
// Attach all inheritable methods to the Model prototype
_.extend(Backbone.Model.prototype, Backbone.Events,
javascript
backbone.js
Matt Darby
fonte
fonte
Respostas:
O problema era que eu não estava carregando
underscore.js
. Eu perdi totalmente essa dependência nos documentos. Duh.Esclarecimento adicional de @tjorriemorrie: Eu tinha sublinhado, mas carregado na ordem errada, primeiro carregue o sublinhado (acho que é isso que 'dependência' significa :)
Esclarecimento adicional apenas no caso de não ser óbvio. A ordem em que as coisas são carregadas no JavaScript está relacionada à ordem em que aparecem na página. Para carregar o sublinhado primeiro, certifique-se de que a tag do script que o inclui venha antes do backbone de carregamento. Como isso:
fonte
A dependência única do backbone é o script Underscore.js carregar o script underscorejs antes do script backbonejs
fonte
A ordem também é importante. Recebi o mesmo erro e ele não foi resolvido até que eu fornecesse o underscore.js antes do backbone.js.
fonte