使用React脚手架创建项目
npx create-react-app my-project cd my-project
使用craco配置Tailwind
由于Create React App本身不允许本地覆盖PostCSS配置,因此我们还需要安装CRACO才能配置Tailwind:
npm install @craco/craco
安装完成后,将package.json文件中的脚本更新为对所有脚本使用craco,代码修改如下:
{ "scripts": { "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'), ], }, }, }
创建tailwindcss的配置文件
在项目的根目录下面执行命令
npx tailwindcss init
命令将会自动创建tailwindcss的配置文件
// tailwind.config.js module.exports = { purge: [], darkMode: false, // or 'media' or 'class' theme: { extend: {}, }, variants: { extend: {}, }, plugins: [], }
优化打包配置
在tailwind.config.js文件中,在清除选项中填写需要清除的路径,以便Tailwind可以在生产版本中 tree-shaker掉未使用的样式:
// tailwind.config.js module.exports = { purge: ['./src/**/*.{js,jsx,ts,tsx}', './public/index.html'], darkMode: false, // or 'media' or 'class' theme: { extend: {}, }, variants: { extend: {}, }, plugins: [], }
引用tailwindcss的样式到react项目中
打开Create React App默认生成的./src/index.css文件,并使用@tailwind
指令引入Tailwind的基础,组件和实用程序,替换原始文件内容:
/* ./src/index.css */ @tailwind base; @tailwind components; @tailwind utilities;
在react的入口文件中引用全局样式文件
// 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') );