1. Создайте свой проект

    Начните с создания нового проекта Symfony, если у вас его еще нет. Самый распространенный подход — использовать установщик Symfony.

    Terminal
    symfony new --webapp my-projectcd my-project
  2. Установите Webpack Encore

    Установите Webpack Encore, который занимается созданием ваших ресурсов. Дополнительную информацию смотрите в документации.

    Terminal
    composer require symfony/webpack-encore-bundle
  3. Установите Tailwind CSS

    Используя npm, установите tailwindcss и его одноранговые зависимости, а также postcss-loader, а затем запустите команду init для создания обоих tailwind.config.js и postcss.config.js.

    Terminal
    npm install -D tailwindcss postcss postcss-loader autoprefixernpx tailwindcss init -p
  4. Включите поддержку PostCSS

    В файле webpack.config.js включите загрузчик PostCSS. Дополнительную информацию смотрите в документации.

    webpack.config.js
    Encore
      // ...
      .enablePostCssLoader()
    ;
    
  5. Настройте пути к шаблону

    Добавьте пути ко всем файлам вашего шаблона в файл tailwind.config.js.

    tailwind.config.js
    /** @type {import('tailwindcss').Config} */
    module.exports = {
      content: [
        "./assets/**/*.js",
        "./templates/**/*.html.twig",
      ],
      theme: {
        extend: {},
      },
      plugins: [],
    }
    
  6. Добавьте директивы Tailwind в свой CSS

    Добавьте директивы @tailwind для каждого из слоев Tailwind в ваш файл ./assets/styles/app.css.

    app.css
    @tailwind base;
    @tailwind components;
    @tailwind utilities;
  7. Начните процесс сборки

    Запустите процесс сборки с помощью npm run watch.

    Terminal
    npm run watch
  8. Начните использовать Tailwind в своем проекте

    Убедитесь, что ваш скомпилированный CSS включен в <head>, а затем начните использовать служебные классы Tailwind для оформления вашего контента.

    base.html.twig
    <!doctype html>
    <html>
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      {% block stylesheets %}
        {{ encore_entry_link_tags('app') }}
      {% endblock %}
    </head>
    <body>
      <h1 class="text-3xl font-bold underline">
        Hello world!
      </h1>
    </body>
    </html>