2013-04-16 7 views
5

Rozumiem, że powiedzmy jeśli mamy,Jak ExtJS Ext.require() działa

Ext.require([ 
    'Ext.ux.grid.FiltersFeature', 
    'Ext.toolbar.Paging' 
]); 

będzie tłumaczyć te wpisy w SOME_PATH/UX/siatka/FilterFeature.js itp

ale jak czy

Ext.require([ 
    'Ext.grid.*', 
]); 

będzie działać? musi wiedzieć, ile plików js znajduje się pod siatką/katalogiem, więc od strony klienta, jak może je załadować ?, czy jest to coś takiego jak leniwy ładunek, to znaczy, że jeśli jakiś inny plik ma wpis dziecka, to może załadować?

Dzięki

Odpowiedz

7

Jako część procesu kompilacji, możemy wygenerować plik „bootstrap”, który zawiera informacje na temat plików, które istnieją. Więc nie wysyła zapytań do systemu plików, prosi tylko o bootstrap dla wszystkiego pod Ext.grid.

+0

Załóżmy, że jeśli nie utworzę pliku bootstrap.js, to czy wpisy bez "*" powinny być poprawnie załadowane? lub zawsze potrzebujemy pliku bootstrap? –

+1

Nie, potrzebny jest bootstrap, ponieważ nie można odczytać systemu plików zdalnie za pomocą tylko JS. –

+0

dziękuje, że to, co znalazłem –

0

Staje się ważny tylko w niestandardowej kompilacji produkcyjnej. Dzięki temu wszystkie klasy ExtJS, których nie używasz, nie są zawarte w tej kompilacji. Pomaga to zmniejszyć wydruk stopy w ramce. Niestety w tym momencie nie ma dokumentacji, jak utworzyć tę dostosowaną kompilację, mimo że dostępna jest beta pakietu SDK, która podobno to robi.