#orocommerce
#orocommerce
Вопрос:
Использование OroCommerce версии 4.1.8 (последняя стабильная версия).
Я создал свою пользовательскую тему (расширенную от темы «по умолчанию»), которая отображается правильно (весь css загружен и применяется, как определено), но для моего пользовательского файла JS, который, похоже, не включен на страницу. Ниже находится my Resources views layouts mytheme config jsmodules.yml-файл:
shim:
jquery:
expose:
- $
- jQuery
magnificPopup:
imports:
- jQuery=jquery
owlCarousel:
imports:
- jQuery=jquery
exports: owlCarousel
aliases:
magnificPopup$: mytheme/js/magnific-popup.min
owlCarousel$: mytheme/js/owl.carousel.min
my-main$: mytheme/js/main
dynamic-imports:
mytheme:
- magnificPopup
- owlCarousel
- my-main
На веб-сервере я вижу скомпилированный mytheme.js файл создается в папке / var / www / oroapp / public /layout-build / mytheme / chunk, но при просмотре HTML для домашней страницы нет строки / ссылки для загрузки этого файла.
Пожалуйста, сообщите, чего мне не хватает или как устранить это?
Ответ №1:
OroCommerce использует Webpack для создания зависимостей JS. По умолчанию все настроенные файлы зависимостей JavaScript объединяются в один файл, например:
<script src="/layout-build/mytheme/app.js"></script>
Где mytheme
название вашей темы.
Чтобы использовать одну из вышеупомянутых зависимостей в вашем модуле ES6, вы должны запросить ее вручную с помощью import
инструкции или с помощью require
функции.
Более подробную информацию смотрите в официальной документации о модульности JavaScript в приложении OroCommerce.