Mam projekt, który wykorzystuje wiele kontekstów wymagających i dynamicznie ładowane wersje i wtyczki jQuery. (Wersje jQuery będą pobierane centralnie i nie będą inline). integralność jQuery dla hosta i każdego kontekstu, jak również izolacja wtyczki są krytyczne.RequireJS - izolowanie wersji i wtyczek jQuery w kontekście
Piszę plugin ładowarka RequireJS obsługiwać następujące przypadki użycia:
- w określonym wymagają kontekstu
- A bez wpływu na fn strony hostingowej lub jakiekolwiek inne wymagają kontekstu, chciałbym jak do:
- załadować dowolny wersja jQuery muszę
- wtyczek załadować na fn mojej konkretnej wersji jQuery
- Czy więzów integralności na wymaganej wersji jQuery tak, że każdy moduł w moim wymagają kontekstu mogą dzielić wtyczek
Mam projekt przykład do ładowarki z testów here.
Występuje błąd w ostatnim warunku, gdy wykonuję drugie połączenie za pomocą programu ładującego, odrzuca on poprzednią wersję.
Używam również eval do izolowania odniesień $ w wczytanych wtyczkach do lokalnie załadowanego zakresu wersji jQuery. Wszelkie przemyślenia na lepszy sposób to byłoby docenione.
Chcesz, aby było proste (głupie), jeśli istnieje łatwiejsze/czystsze rozwiązanie.
Dzięki, dużo.
i uniknąć eval można mieć skryptu po stronie serwera CONCATENATE 'define ([ 'jquery-wersja'], funkcja (jQuery) { var $ = jQuery; '+ [the plugin src] +'}); 'a następnie załadować wywołanie wtyczki tego skryptu z nazwą wtyczki i wersją jquery w ciągu zapytania – wheresrhys