Настройка Tailwind CSS в проекте Create React App.
Начните с создания нового проекта Create React App, если у вас его еще нет. Самый распространенный подход - использовать Create React App:
npx create-react-app my-project
cd my-project
Tailwind CSS требует Node.js 12.13.0 или выше.
Устанавливаем Tailwind его одноранговые зависимости, используя npm
:
npm install -D tailwindcss@npm:@tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9
Create React App не пока поддерживает PostCSS 8 поэтому вам необходимо установить сборку совместимости с Tailwind CSS v2.0 PostCSS 7, как мы показали выше.
Поскольку Create React App не позволяет вам изначально переопределить конфигурацию PostCSS, нам также необходимо установить CRACO, чтобы иметь возможность настраивать Tailwind:
npm install @craco/craco
После его установки обновите ваши scripts
в файле package.json
, чтобы использовать craco
вместо react-scripts
для всех скриптов, кроме eject
:
{
// ...
"scripts": {
- "start": "react-scripts start",
- "build": "react-scripts build",
- "test": "react-scripts test",
+ "start": "craco start",
+ "build": "craco build",
+ "test": "craco test",
"eject": "react-scripts eject"
},
}
Затем создайте craco.config.js
в корне нашего проекта и добавьте tailwindcss
и autoprefixer
как плагины PostCSS:
// craco.config.js
module.exports = {
style: {
postcss: {
plugins: [
require('tailwindcss'),
require('autoprefixer'),
],
},
},
}
Если вы планируете использовать какие-либо другие плагины PostCSS, вам следует прочитать нашу документацию по использованию PostCSS в качестве препроцессора для получения более подробной информации о том, как лучше всего заказать их вместе с Tailwind.
Затем сгенерируйте свои(й) tailwind.config.js
файл:
npx tailwindcss-cli@latest init
Это создаст минимальный файл tailwind.config.js
в корне вашего проекта:
// tailwind.config.js
module.exports = {
purge: [],
darkMode: false, // or 'media' or 'class'
theme: {
extend: {},
},
variants: {
extend: {},
},
plugins: [],
}
Узнайте больше о настройке Tailwind в документации по конфигурации.
В вашем файле tailwind.config.js
, настройте опцию purge
, указав пути ко всем вашим components, чтобы Tailwind мог изменять дерево неиспользуемых стилей в производственных сборках:
// tailwind.config.js
module.exports = {
- purge: [],
+ purge: ['./src/**/*.{js,jsx,ts,tsx}', './public/index.html'],
darkMode: false, // or 'media' or 'class'
theme: {
extend: {},
},
variants: {
extend: {},
},
plugins: [],
}
Прочтите наше отдельное руководство по оптимизации для продакшена, чтобы узнать больше о древовидных неиспользуемых стилях для лучшей производительности.
Откройте файл ./src/index.css
, который Create React App генерирует для вас по умолчанию
, и используйте директиву @tailwind
, чтобы включить утилиты Tailwind base
, components
и utilities
стили, заменяющие исходное содержимое файла:
/* ./src/index.css */
@tailwind base;
@tailwind components;
@tailwind utilities;
Tailwind заменит эти директивы во время сборки на все стили, которые он генерирует на основе вашей настроенной дизайн-системы.
Прочтите нашу документацию по добавлению базовых стилей, извлечению компонентов, и добавлению новых утилит для лучшие практики по расширению Tailwind с помощью вашего собственного CSS.
Наконец, убедитесь, что ваш файл CSS импортируется в файл ./src/index.js
:
// src/index.js
import React from 'react';
import ReactDOM from 'react-dom';
+ import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
// ...
Вы закончили! Теперь, когда ты бежишь npm run start
, Tailwind CSS будет готов к использованию в вашем проекте Create React App.