Symfony 5 Encore/Webpack — как подключить jquery?

В Symfony 5 Encore/Webpack для подключения jQuery в ваш проект вам потребуется выполнить несколько шагов:

Шаг 1: Установка jQuery

Вам нужно установить пакет jQuery с помощью npm или yarn:

npm install jquery

или

yarn add jquery

После установки пакет будет добавлен в директорию node_modules вашего проекта.

Шаг 2: Конфигурация Webpack

Откройте файл webpack.config.js в корневой папке вашего проекта и добавьте следующий код перед экспортом конфигурации:

// webpack.config.js

// ...

const $ = require('jquery');

module.exports = {
   // ...
};

Это позволит Webpackу использовать глобальную переменную $ для доступа к jQuery.

Шаг 3: Импорт и использование jQuery

Добавьте импорт jQuery в ваш файл JavaScript:

// app.js

// ...

import $ from 'jquery';

// ...

Теперь вы можете использовать jQuery в своем проекте точно так же, как и обычно:

$(document).ready(() => {
   // ваши коды jQuery здесь
});

Шаг 4: Добавление jQuery в сборку Webpack

Откройте файл webpack.config.js и добавьте следующий код, чтобы jQuery был включен в вашу сборку:

// webpack.config.js

// ...

module.exports = {
   // ...
   .addEntry('app', './assets/js/app.js')
   .autoProvidejQuery()
   // ...
}

Этот код автоматически добавит jQuery в вашу сборку и сделает его доступным для использования во всех ваших файлов JavaScript.

Шаг 5: Правила загрузки

Убедитесь, что ваш файл webpack.config.js содержит следующие правила загрузки, чтобы позволить Webpack использовать jQuery и его зависимости:

// webpack.config.js

// ...

module.exports = {
   // ...
   .autoProvidejQuery()
   .enableSingleRuntimeChunk()
   .splitEntryChunks()
   // ...
}

Эти правила позволяют Webpackу оптимизировать сборку и обработку зависимостей.

Шаг 6: Генерация и управление статическими файлами

Запустите скрипт сборки Webpack, чтобы создать все статические файлы в вашем проекте:

npx encore dev

или

yarn encore dev

Это сгенерирует все необходимые файлы, включая JS-файлы с jQuery, и добавит их в каталог public/build вашего проекта.

Шаг 7: Подключение jQuery в шаблоне

Наконец, вы должны подключить сгенерированный JS-файл с jQuery в ваш шаблон:

<!-- base.html.twig -->

<!DOCTYPE html>
<html>
   <head>
      <!-- ... -->
   </head>
   <body>
      <!-- ... -->

      {% block javascripts %}
         {{ encore_entry_script_tags('app') }}
      {% endblock %}
   </body>
</html>

Теперь ваш проект должен быть готов к использованию jQuery. Вы можете проверить, работает ли jQuery, добавив простой скрипт в ваш файл JavaScript и убедившись, что нет ошибок:

// app.js

// ...

$(document).ready(() => {
   console.log('jQuery is working!');
});

Надеюсь, это помогло вам подключить jQuery в Symfony 5 Encore/Webpack. Если у вас возникнут дополнительные вопросы или сложности, обратитесь за помощью к сообществу Symfony или к документации, поскольку Symfony и Encore/Webpack имеют большое сообщество поддержки и документацию, которые могут помочь вам в разработке вашего проекта.