Installation
Установите Tailwind CSS c Symfony
Настройка Tailwind CSS в проекте Symfony.
Создайте свой проект
Начните с создания нового проекта Symfony, если у вас его еще нет. Самый распространенный подход — использовать установщик Symfony.
Terminalsymfony new --webapp my-projectcd my-project
Установите Webpack Encore
Установите Webpack Encore, который занимается созданием ваших ресурсов. Дополнительную информацию смотрите в документации.
Terminalcomposer require symfony/webpack-encore-bundle
Установите Tailwind CSS
Используя npm, установите
tailwindcss
и его одноранговые зависимости, а такжеpostcss-loader
, а затем запустите команду init для создания обоихtailwind.config.js
иpostcss.config.js
.Terminalnpm install -D tailwindcss postcss postcss-loader autoprefixernpx tailwindcss init -p
Включите поддержку PostCSS
В файле
webpack.config.js
включите загрузчик PostCSS. Дополнительную информацию смотрите в документации.webpack.config.jsEncore // ... .enablePostCssLoader() ;
Настройте пути к шаблону
Добавьте пути ко всем файлам вашего шаблона в файл
tailwind.config.js
.tailwind.config.js/** @type {import('tailwindcss').Config} */ module.exports = { content: [ "./assets/**/*.js", "./templates/**/*.html.twig", ], theme: { extend: {}, }, plugins: [], }
Добавьте директивы Tailwind в свой CSS
Добавьте директивы
@tailwind
для каждого из слоев Tailwind в ваш файл./assets/styles/app.css
.app.css@tailwind base; @tailwind components; @tailwind utilities;
Начните процесс сборки
Запустите процесс сборки с помощью
npm run watch
.Terminalnpm run watch
Начните использовать 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>