2011-12-19 14 views
6

TłoJak wczytać skrypty w razie potrzeby za pomocą require.js?

mam długą listę modeli i widoków wykonanych z backbone.js - ale nie wszyscy użytkownicy będą otwierać wszystkie widoki. Używam require.js do ładowania plików i szablonów JavaScript.

Co mam teraz

Mam router, który wie o wszystkich widokach. Ponieważ router wie o tym, wszystkie widoki, modele i szablony są ładowane podczas uruchamiania - to również ładuje losowo odwiedzane widoki.

Problem

Jak mogę używać require.js załadować JavaScripts gdy są potrzebne? Nie przy pierwszym uruchomieniu, ale gdy użytkownik najpierw otwiera widok.

AKTUALIZACJA Mogę teraz uzyskać to działa jako komentarz w odpowiedzi poniżej.

W routerze mam wymagać od szlaku:

require(["yourmodule"], function(MyModule){ 
    //... 
}) 

Odpowiedz

5

Jest to świetny przewodnik dla poślubienie backbone.js i Require.js:

http://backbonetutorials.com/organizing-backbone-using-modules/

+0

W routerze, należy załadować views - will.js następnie załaduje pełny wykres modułu? Widok ma kolekcję, a kolekcja ponownie wymaga modelu i tak dalej. Co chciałbym wiedzieć, czy mogę załadować moduł, kiedy go potrzebuję –

+0

Czy próbowałeś czegoś takiego w obsłudze routera? 'require ([" yourmodule "], populateYourView)' –

+0

@IntoTheVoid: Należy pamiętać, że bieżąca wersja jQuery, Underscore i oddział Backbone obejmują obsługę AMD, więc integracja z RequireJS jest teraz znacznie prostsza. Zajrzyj na ** [zaktualizowany przykład] (https://github.com/thomasdavis/backbonetutorials/tree/gh-pages/examples/modular-backbone-updated) ** na github backbonetutorial lub sprawdź prosty ** [ Szablon projektu szkieletu (https://github.com/dzejkej/modular-backbone) **. – kubetz

Powiązane problemy