Настройка Tailwind CSS в проекте Create React App.
Начните с создания нового проекта Create React App, если у вас его еще нет. Самый распространенный подход - использовать Create React App:
npx create-react-app my-project
cd my-projectTailwind CSS требует Node.js 12.13.0 или выше.
Устанавливаем Tailwind его одноранговые зависимости, используя npm:
npm install -D tailwindcss@npm:@tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9Create 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.