2013-03-03 7 views
6

처음으로 requirejs를 사용하고 있으며 종속성을 구조화하는 데 문제가 있습니다.요구 사항 - 데이터로드 전 요구 사항 구성

내 index.html을에서 데이터의 주요 특성으로 내 주요 app.js 파일 정의했다 :

<script data-main="src/app" src="/js/lib/require/require.js"></script> 

을하지만, 나는 모든 경로/심 구성을 필요로의 나 정의 파일을 가지고 app.js 파일보다 먼저 실행하고 싶습니다. 내 app.js에서 종속 경로로 구성된 경로를 참조 할 수 있도록 실행해야합니다.

올바른 방법은 내 config.js를 데이터 메인으로 사용하지 않는 것이라고 생각합니다. 이 같은 종속성으로 config.js 설정 시도 :

<script type="text/javascript"> 
     var require = { 
      baseUrl: "/", 
      deps: ["src/config"] 
     } 
    </script> 
    <!-- data-main is the main js file of the app --> 
    <script data-main="src/app" src="/js/lib/require/require.js"></script> 

을하지만 도움이되지 않았다.

제안 사항?

+2

shim/path 설정 옵션을'var require = {}'에 넣으십시오. –

답변

4

필자의 경우 config.jsapp.js에로드하여 각 페이지의 구성을 공유합니다. 예를 들어

:

require(['config'], function(){ 
    require(['module','another'], function(){ 
    // run with all modules 
    }); 
}); 

이 프로젝트를 최적화하려면, has.js를 사용하여 HTTP 연결을 줄일 수있는 좋은 방법입니다. 자세한 내용은 this sample project을 참조하십시오.

+0

"연쇄 (chaining)"효과를 얻기 위해 매우 유사한 작업을 수행하게되었습니다. 내 데이터 메인으로 init.js 파일을 만들었고 그 안에는 내가했다 : '(config '', config (config), function (appConfig) { require ([ 'app'], function (app) { require ([ 'appStart']); }); }); ** 구성 ** - 필수 경로 구성을 보유합니다. ** app ** - 내 앱 객체 및 기타 초기화 함수를 만듭니다. ** appStart ** - 앱을 시작합니다. – elanh