2011-02-02 19 views
101

Sadece Backbone.js ile çalışmaya başlayın. Hat 128 üzerindekiBackbone.js: 'genişlet' undefined?

Uncaught TypeError: Cannot call method 'extend' of undefined: Basitçe Omurga (ya dev/üretim versiyonları dahil) hataya neden

// Attach all inheritable methods to the Model prototype 
_.extend(Backbone.Model.prototype, Backbone.Events, 
+0

Soru: Bunu diğer JS kitaplıklarının yanı sıra Backbone ile birleştiriyor musunuz? Hatayı hala onlarsız görüp görmediğinizi görmeyi denediniz mi? – Spudley

+0

Yepyeni bir Rails uygulaması; JQuery'yi yüklemiyorum bile! :) –

+2

Ben bu backbone.js etiketi – theycallmemorty

cevap

211

Sorunum underscore.js yüklenmemesi olmasıydı. Dokümanlardaki bağımlılığı tamamen özledim. Duh.

@tjorriemorrie gelen

Daha fazla açıklama : Ben altını, ama sıralama yanlış yüklenmiş olan, birinci yük alt çizgi (tahmin 'bağımlılık' ne anlama :)


fazla açıklama ihtimale bu değil ise açık değil. Öğelerin JavaScript’e yüklenme sırası, sayfada gösterilen sırayla ilgilidir. Önce altçizgi yüklemek için, dahil olmak üzere komut dosyası etiketinin bir yükleme omurgasından önce geldiğinden emin olun. Şunun gibi:

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

en yüksek oylanan sorulardan biri olduğunu seviyorum Çok teşekkür ederim, ne yapıyorum yanlış yaptım ve omurga bile yükleyemiyorum! –

+22

Altçizgem vardı, ancak yanlış sırada yüklendim, ilk alt çizgi yükle (bu 'bağımlılığın ne anlama geldiğini tahmin et) :) – Tjorriemorrie

+11

4,600+ görüntüleme ve 55 yazım daha sonra pek çok kişinin gereksinimleri kaçırdığı görülüyor. Belki de daha belirgin olmalılar. – Xeoncross

2

Omurga sadece sert bağımlılık Underscore.js yük backbone.js komut

1

sırası da önemlidir önce komut dosyasını underscorejs olduğunu. Aynı hatayı aldım ve backcore.js'yi backbone.js'den önce verene kadar çözülmedi.

<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>