2011-02-02 4 views
101

Backbone.js를 시작하기 만하면됩니다. 라인 (128)에Backbone.js :`extend`가 정의되지 않았습니까?

Uncaught TypeError: Cannot call method 'extend' of undefined : 간단히 백본 (중 DEV/생산 버전)을 포함하여이 오류를 발생

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

질문 : 다른 JS 라이브러리와 Backbone을 함께 사용하고 있습니까? 그들없이 오류가 계속 발생하는지 보셨습니까? – Spudley

+0

새로운 Rails 앱입니다. 나는 심지어 jQuery를로드하지 않는다! :) –

+2

이것이 백본에서 가장 많이 투표 된 질문 중 하나라고 생각합니다 .js 태그 – theycallmemorty

답변

211

문제는 내가 underscore.js로드되지 않았 음을이었다. 나는 문서에서 그 의존성을 완전히 놓쳤다. 이봐.

는 @tjorriemorrie에서

또한 설명 : 내가 강조하지만 잘못된 순서로로드 한, 첫 번째로드 밑줄 (즉 추측 '의존성'이 무엇을 의미하는지 :


또한 명확한 설명을 경우를이 ISN에 분명하지. JavaScript에서로드되는 순서는 페이지에 표시되는 순서와 관련이 있습니다. 밑줄을 먼저로드하려면 포함하는 스크립트 태그가 백본을로드하는 스크립트 태그보다 먼저 오도록해야합니다. 이처럼 :

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

정말 고마워요, 제가 잘못하고있는 것을 당혹스럽게 생각하고 왜 백본을로드 할 수 없습니까! –

+22

나는 언더 스코어가 있지만 잘못된 순서로 적재했다. 처음에는 밑줄을 적는다. ('의존성'이 의미하는 것 같다.) – Tjorriemorrie

+11

4,600+ views와 55 upvotes 나중에 많은 사람들이 요구 사항을 빠뜨린 것 같다. 아마 그들은 더 발음해야합니다. – Xeoncross

2

백본에만 하드 의존성 Underscore.js 부하가 backbonejs 스크립트

1

순서는 중요하다 전에 스크립트를 underscorejs입니다. 나는 같은 오류가있어 내가 밑줄을 줘야 해결 될 때까지는 해결되지 않았다. 백본 전에 .js .js.

<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> 
관련 문제