2013-03-03 20 views
6

Po raz pierwszy używamy programu requirejs i mam problemy z budowaniem zależności.Requirejs - Konfigurowanie wymaga przed załadowaniem danych - główne

Mam zdefiniowane mój główny plik app.js jako główny atrybut danych, w moim index.html:

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

Ale Mam plik, który definiuje wszystkie moje wymagają konfiguracji ścieżka/podkładek i Chcę, aby to działało przed plikiem app.js. Potrzebuję go uruchomić, aby móc odwoływać się do skonfigurowanych ścieżek jako zależności w mojej app.js.

Nie sądzę, że właściwą metodą jest umieszczenie pliku config.js jako głównej bazy danych. Próbowałem ustawienie config.js jako zależność tak:

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

ale to nie pomogło.

Wszelkie sugestie?

+2

Spróbuj umieścić opcje konfiguracji shim/ścieżki w 'var require = {}' –

Odpowiedz

4

W moim przypadku załaduję config.js w app.js, aby udostępnić konfigurację dla każdej strony.

Na przykład:

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

Aby zoptymalizować ten projekt, wykorzystując has.js jest lepszy sposób, aby ograniczyć połączenia HTTP. Aby uzyskać więcej informacji, zobacz this sample project.

+0

W efekcie otrzymałem coś bardzo podobnego, aby uzyskać efekt "łączenia". Stworzyłem plik init.js jako moją bazę danych, a wewnątrz to: 'wymagają (['config'], funkcja (appConfig) { wymagają (['aplikacja'], funkcja (aplikacja) { wymagają (['appStart']); }); }); ' ** config ** - przechowuje konfigurację wymaganych ścieżek. ** aplikacja ** - tworzy obiekt mojej aplikacji i niektóre inne funkcje inicjujące. ** appStart ** - kick uruchamia aplikację. – elanh

Powiązane problemy