Webpack Encore и JQuery UI (dateRangeSlider)

У меня проблемы с интеграцией плагина jquery-ui с моим приложением Symfony с помощью Webpack Encore. Вы можете увидеть ошибку (TypeError: t(...). DateRangeSlider не является функцией [Узнать больше]) в консоли:

https://date-range-demo.herokuapp.com/en/blog/search

Исходный код для этого находится по адресу https://github.com/tacman/range-slider-demo, это просто демонстрация Symfony с ползунком диапазона дат на странице поиска, с помощью следующих изменений:

добавьте библиотеки в package.json из командной строки

пряжа добавить JQuery-UI JQrangeslider

добавить в /blog/search.html

    <div id="slider">Slider Placeholder</div>

добавлено в assets/js/search.js

import 'jquery-ui'; 
import 'jqrangeslider';

$('#slider').dateRangeSlider();

Ресурсы создаются с помощью 'yarn run encore dev', я уверен, что это простая ошибка конфигурации, но я не могу понять, что это такое.

Развертывание к героку добавлено еще несколько вещей, но не связанных с тем, что плагин не загружается. Чтобы увидеть эту ошибку локально, просто клонируйте репозиторий, запустите composer install && yarn install && yarn run encore dev, затем запустите сервер и перейдите в / en / blog / search.

Спасибо за любую помощь в этом!

1 ответ

После нескольких часов поиска решения я сделал это, импортировав определенные файлы: Сначала я установил jquery-ui

npm i jquery-ui --dev

Затем в моем файле js я импортировал следующие файлы (перетаскивание):

require('jquery-ui/ui/widgets/droppable');
require('jquery-ui/ui/widgets/sortable');
require('jquery-ui/ui/widgets/selectable');
import $ from 'jquery';

У меня была проблема с сем, но с перетаскиваемым компонентом jqueryui.

В моем приложении я использую require и не import но мне пришлось специально требовать перетаскиваемый компонент, а не весь jquery-ui.

У меня нет подходящего примера для копирования-вставки прямо сейчас, но попробуйте импортировать draggable.js файл.

Вместо использования jquery-ui используйте webpack-jquery-ui:yarn add webpack-jquery-ui (в конце концов с --dev опция).

А затем импортировать его с require('webpack-jquery-ui') в вашем search.js.

Другие вопросы по тегам