Перейти к содержимому

2. Установка и настройка

Иллюстрация к уроку

Tailwind можно подключить тремя способами: через CDN (быстро, для прототипов), через npm в Vite-проекте, или через Next.js (встроенная поддержка). Разберём каждый.

Способ 1: CDN (быстро, только для разработки)

Заголовок раздела «Способ 1: CDN (быстро, только для разработки)»

Самый простой способ — подключить CDN прямо в HTML. Не используй в продакшне — CDN включает все утилиты и весит ~3MB.

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My App</title>
<!-- Подключаем Tailwind через CDN -->
<script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="bg-gray-100 p-8">
<h1 class="text-3xl font-bold text-blue-600">Привет, Tailwind!</h1>
</body>
</html>
Окно терминала
npm create vite@latest my-app -- --template vanilla
cd my-app
npm install
# Устанавливаем Tailwind и его зависимости
npm install -D tailwindcss postcss autoprefixer
# Инициализируем конфиг
npx tailwindcss init -p

После этого появятся два файла: tailwind.config.js и postcss.config.js.

Настраиваем tailwind.config.js — указываем где искать классы:

/** @type {import('tailwindcss').Config} */
export default {
// Tailwind сканирует эти файлы и включает только используемые классы
content: [
"./index.html",
"./src/**/*.{js,ts,jsx,tsx,vue,svelte}",
],
theme: {
extend: {},
},
plugins: [],
}

Создаём src/style.css с директивами Tailwind:

/* Три магических директивы — они заменяются реальным CSS */
@tailwind base; /* Сброс стилей (Preflight) */
@tailwind components; /* Компоненты (если есть) */
@tailwind utilities; /* Все утилиты */

Импортируем в src/main.js:

import './style.css'

Готово! Запускаем:

Окно терминала
npm run dev

В Next.js 13+ Tailwind встроен из коробки:

Окно терминала
# При создании проекта выбираем Tailwind CSS
npx create-next-app@latest my-app
# ✔ Would you like to use Tailwind CSS? Yes

Или добавляем в существующий проект:

Окно терминала
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p

tailwind.config.js для Next.js:

/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
'./pages/**/*.{js,ts,jsx,tsx,mdx}',
'./components/**/*.{js,ts,jsx,tsx,mdx}',
'./app/**/*.{js,ts,jsx,tsx,mdx}',
],
theme: {
extend: {},
},
plugins: [],
}

В app/globals.css:

@tailwind base;
@tailwind components;
@tailwind utilities;

В v4 конфигурация упрощена — больше не нужен tailwind.config.js для базовых вещей:

Окно терминала
# Устанавливаем v4
npm install tailwindcss@next @tailwindcss/vite

Настройка через CSS (без JS конфига!):

/* Один импорт вместо трёх директив */
@import "tailwindcss";
/* Кастомизация прямо в CSS */
@theme {
--color-brand: oklch(0.5 0.2 250);
--font-display: "Inter", sans-serif;
}

Для комфортной работы установи:

  1. Tailwind CSS IntelliSense — автодополнение классов, hover-предпросмотр
  2. Prettier + prettier-plugin-tailwindcss — автосортировка классов
Окно терминала
# Prettier с сортировкой Tailwind классов
npm install -D prettier prettier-plugin-tailwindcss

prettier.config.js:

module.exports = {
plugins: ['prettier-plugin-tailwindcss'],
}