W jaki sposób zewnętrzny programista może dodać bibliotekę jQuery do Magento 2?
Podczas gdy Magento 2 zawiera wersję jQuery w swoich motywach frontendowych, obiekt jQuery nie jest natychmiast dostępny w globalnej przestrzeni nazw. Wierzę, że dzieje się tak, ponieważ Magento 2 używa RequireJS do pobrania jQuery, a RequireJS nie załaduje pliku modułu, dopóki nie będzie potrzebny.
Stanowi to problem dla wtyczek jQuery. Zwykle dołączam wtyczkę z HTML, która wygląda mniej więcej tak
<script type="text/javascript" src="http://magento-1-9-2-2.dev/js/commercebug/jquery-ui-1.8.custom/js/jquery.cookie.js"></script>
Nie jest to jednak możliwe w przypadku Magento 2. Ponieważ jquery.cookie.js
plik definiuje wtyczkę jQuery za pomocą globalnego obiektu jQuery, zakończy się niepowodzeniem w Magento 2 z jQuery is not defined
błędem.
W jaki sposób programista powinien dołączyć standardową bibliotekę wtyczek jquery do aplikacji frontonu Magento 2?
źródło
Odpowiedzi:
Utwórz addjj-config.js Nazwa firmy \ Modulename \ view \ frontend \ requjs-config.js dodaj
Twój plik Js w module Nazwa firmy \ Nazwa modułu \ widok \ frontend \ web \ js \ flexslider.js
Po prostu dodajesz bibliotekę jquery przy użyciu następującej składni
drugi przykład
źródło
Cytuję Dokumenty Magento .
Aby zbudować zależność od wtyczki innej firmy, określ podkładkę w następujących plikach konfiguracyjnych:
W pliku Requjs-config.js:
Następnie dołącz swój kod wtyczki innej firmy do motywu lub modułu: „web / js / 3-rd-party-plugin.js” w następujący sposób:
To rozwiązanie jest korzystne, ponieważ dołączasz plik wtyczki bez żadnych modyfikacji. Po prostu zamień plik js, gdy autor wtyczki zaktualizuje lub nawet użyj cdn!
źródło
Najlepiej jest użyć Magento 2 modułu lub motywu, aby dołączyć takie wtyczki / biblioteki. Jest to zalecany sposób i najlepsza praktyka .
Metoda 1> TEMAT : Jeśli biblioteka javascript / jquery jest powiązana z tematem (w celu zmiany wyglądu i działania systemu).
[katalog_dysku] / web / js /
[katalog_dysku]
Metoda 2> MODUŁ : Jeśli biblioteka javascript / jquery jest powiązana z określoną funkcją biznesową lub obsługuje funkcję Magento. Powinien wejść do modułu.
Umieść niestandardowy plik źródłowy komponentu w jednej z następujących lokalizacji
[katalog_modułu] / view / frontend / web / js /
Umieść plik Requjs-config.js w
[katalog_modułu] / view / frontend /
źródło
Alan, fabryka widgetów jQuery ma specjalny przypadek. Aby zapewnić zgodność z AMD, sprawdź poniższy link.
http://gregfranko.com/blog/registering-the-jqueryui-widget-factory-as-an-amd-module/
źródło