Веб-пакет symfony на бис: select2 не работает («не функция») - PullRequest
0 голосов
/ 13 ноября 2018

Используя Symfony 4 и Webpack Encore , я не могу заставить Select2 работать. Я использую "select2@4.0.3" И импортировать его таким образом в app.js:

import $  from 'jquery';
import 'bootstrap';
import 'select2';

Я тоже пытался использовать

Encore.autoProvidejQuery()

в webpack.config.js (затем следите за комментированием строки import $ from 'jquery'; в app.js, чтобы не импортировать jquery дважды)

Я перепробовал все, что мог найти в других ответах, таких как:

import select2 form 'select2';

$(() => {
  $('.select2-enable').select2();
});

или

select2($);

Почти все мои попытки приводят к одной и той же ошибке: TypeError: $ (...). Select2 не является функцией

EDIT
Работает в настоящее время. Каждый раз, когда я вносил изменения в app.js (и перестраивал), я использовал консоль firefox devtool, чтобы проверить, работает ли она, но я всегда получал ошибку «не функция», даже если проблема была решена, и select2 работал. Это потому, что я использую веб-пакет, когда консоль браузера больше не распознает функцию select2 ()?

1 Ответ

0 голосов
/ 14 ноября 2018

Сначала установите его, используя yarn:

пряжа добавить select2 Затем используйте его с require вместо import:

require('select2')

в вашем app.js файле.

Он работает так же, используя require или import.

Babel преобразует объявление импорта и экспорта в CommonJS (требуется), что позволяет динамически загружать модули.

Итак, несмотря на то, что они выглядят одинаково, старайтесь всегда использовать require.

...