2013-03-29 1 views
1

그래서 TODO 응용 프로그램에서 백본 및 require.js를 사용했습니다. 모두 멋지다. 필자는 모든 모델, 뷰, 컬렉션을 단일 파일로 분리하고 require.js를 사용하여 파일을로드했습니다. 모든 파일을 콘솔 require.js optimizer r.js를 사용하여 하나의 파일에 결합하려고 시도한 후. 결과적으로 나는 모든 라이브러리와 클래스가있는 하나의 파일을 얻습니다. 하지만 내가 백본이 정의하지 않은 오류를 만났을 때 나는 파일을 확인하고 그 생성 r.js 다음 일을 참조하십시오 1. 먼저이 앱 built.js를 위해 파일을 백본 소스를 추가 배치 다음 문자열 후Backbone.js 및 Require.js 도구 r.js

define("lib/backbone", function(){}); 

그래서 결과적으로 나는의 백본 변수가 윈도우에 있지만 내 모듈에서 require.js 방식으로 사용합니다. define('models/todo',['jquery','underscore','lib/backbone'],function ($, _, Backbone) {

아니요. 모듈 없음 백본 로컬 변수가 정의되지 않았습니다. 그리고 underscore.js와 동일한 문제가 있습니다. R.js도 같은 방식으로 가져 왔습니다.

그럼 질문입니다. 어떻게하면이 문제를 피할 수 있을까요? 아니면 지금 어떻게 해결할 수 있을까요? SOme 기술?

+0

이 부분은 나에게 명확하지 않다 : "아니 세계로". 이 말을 다시하거나 넓힐 수 있습니까? 아마도 오타 일 것입니다. – explunit

답변

1

RequireJS에 따라 백본에서 기본 URL 디렉토리에 백본이 있어야하기 때문에 shim을 사용해야 할 수도 있습니다. 귀하의 경우에는/lib에 대신 나타납니다. Config Shim. 사용중인 RequireJS 버전에 따라 사용중인 라이브러리가 AMD와 호환되는지 확인해야합니다. 당신의 requireJS 구성에서

:

shim: { 
    backbone: { 
    deps: ["underscore", "jquery"], 
    attach: "Backbone" 
    }, 
    underscore: { 
    attach: "_" 
    } 
}