2013-09-30 4 views
14

Chcę móc wstrzykiwać dodatkowe ścieżki w pliku innym niż plik zawierający konfigurację. Czy można to zrobić? Pytanie dodatkowe brzmi, czy mogę uzyskać bezpośredni dostęp do zmiennych "config".Specyfikacja wielu ścieżek w RequireJS

+2

Rozumiem, że pytasz, czy można dodać dodatkowe ścieżki po uruchomieniu 'require.config()'? –

+1

Tak, to jest poprawne – sabof

Odpowiedz

17

Nie ma problemu z wielokrotnym dzwonieniem pod numer require.config lub z wielu miejsc. Nie musisz dostarczać całego zestawu konfiguracji podczas kolejnych połączeń. Nowe odwzorowania ścieżek zostaną scalone z istniejącymi.

Na przykład, jeśli zrobił to pierwotnie:

require.config({ 
    paths: { 
     foomodule: 'libs/foo', 
     jquery: 'libs/jquery' 
    } 
}); 

Można później to zrobić, aby zapewnić inny zestaw ścieżek dla jQuery i/lub wstrzyknąć ścieżki dla zupełnie nowego modułu nie występuje w oryginalnym config:

require.config({ 
    paths: { 
     jquery: [ 'http://code.jquery.com/jquery-2.0.2', 'http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.2' ], 
     // note that foomodule not provided here but still keeps its original configuration 
     someothermodule: 'some/other/path' 
    } 
}); 

Należy jednak pamiętać, że jeśli moduł został już załadowany na podstawie oryginalnego config i chciał zmusić go, aby przeładować z nowej konfiguracji mogłeś zadzwonić require.undef

Odnośnie drugiej części twojego pytania (odczytanie istniejącej informacji o konfiguracji) zapytałem o to także a question i jak dotąd nie znalazłem sposobu, aby to zrobić.

+0

dla mnie to nie działa. czy możesz podać przykład ze szczegółami.? – miukki

+0

Ponadto optymalizator nie akceptuje wielu ścieżek. –

+0

To działa. W przypadku problemu z optymalizatorem wystarczy ręcznie dodać te pliki, używając opcji zawarcia. –