из: https://symfony.com/doc/current/frontend/encore/legacy-apps.html
Плагины jQuery и устаревшие приложения
Внутри Webpack, когда вам требуется модуль, он (обычно) не устанавливает глобальную переменную.Вместо этого он просто возвращает значение:
// this loads jquery, but does *not* set a global $ or jQuery variable
const $ = require('jquery');
...
Исправление подключаемых модулей jQuery, которые ожидают, что jQuery будет глобальным
Подключаемые модули jQuery часто ожидают, что jQuery уже доступенчерез глобальные переменные $ или jQuery.Чтобы это исправить, вызовите autoProvidejQuery () из вашего файла webpack.config.js:
Encore
// ...
.autoProvidejQuery() // add this line into your webpack.config.js file
;
Доступ к jQuery из файлов JavaScript Webpack
Если вашему коду необходим доступ к $ или jQuery ивы находитесь внутри файла, который обрабатывается Webpack / Encore, вы должны удалить все ошибки «$ is notfined», требуя jQuery: var $ = require ('jquery').
Но если вам также необходимопредоставить доступ к переменным $ и jQuery вне файлов JavaScript, обрабатываемых Webpack (например, JavaScript, который все еще находится в ваших шаблонах), вам необходимо вручную установить их как глобальные переменные в некотором файле JavaScript, который загружается перед вашим прежним кодом.
Например, в файле app.js, который обрабатывается Webpack и загружается на каждую страницу, добавьте:
// require jQuery normally
const $ = require('jquery');
+ // create global $ and jQuery variables
+ global.$ = global.jQuery = $;