建立 React + Tailwind CSS 環境
tags: Web React Tailwind CSS 環境設定
category: Front-End
description: 建立 React + Tailwind CSS 環境
created_at: 2021/08/05 19:00:00
updated_at: 2022/07/29 12:00:00

2022.07.29更
今天看 GA 看到最近這篇有瀏覽量,想說 tailwindCSS 版本有大更(2 => 3),不見得會再碰到下面的問題,所以來補充一下訊息。
然後因為我自己有寫一個 npx 指令去幫忙建置環境,所以其實也不需要像這篇文章手動建 tailwindCSS 環境了。
如果要快速幫你裝好像是 Eslint、Prettier、Tailwindcss 之類的環境,可以考慮我做的 cmd: https://github.com/LaiJunBin/lai-cmd
用法很簡單,如果你只要 tailwindCSS 不要其他東西,在 react 專案只要下
$ npx lai-cmd init react-tailwindcss
Vue3 專案也支援:
$ npx lai-cmd init vue-tailwindcss
下方內容可能已過時,有興趣再往下閱讀
事前準備
- 裝好 Node.js
前言
今天在建立 react 的 tailwindcss 環境的時候前面一切順利,官方的文件非常詳細,但就在最後一關碰到了小問題。
就是在 jit 模式下修改沒有 hot reload , 如果每次要改一點重啟 Server 非常浪費時間且沒有效率,所以就稍微紀錄一下。
基本上前半段應該都跟官方不會差太多,所以我就偷懶把官方的code貼過來吧
-
建立 react app 並切進去目錄
$ npx create-react-app my-project$ cd my-project -
透過
npm安裝tailwindcss跟一些相關套件$ npm install -D tailwindcss@npm:@tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9 -
安裝 craco (這可以擴展 react 的一些設定檔)
$ npm install @craco/craco -
修改 package.json
{ // ... "scripts": { "start": "craco start", "build": "craco build", "test": "craco test", // ... }, } -
在根目錄建立
craco.config.jsmodule.exports = { style: { postcss: { plugins: [ require('tailwindcss'), require('autoprefixer'), ], }, }, } -
產生
tailwindcss設定檔$ npx tailwindcss-cli@latest init -
修改
tailwind.config.js,讓他只產出有用到的classmodule.exports = { purge: ['./src/**/*.{js,jsx,ts,tsx}', './public/index.html'], // ... } -
設定
src/index.css@tailwind base; @tailwind components; @tailwind utilities;
差不多到這邊就是我們需要用到官方的範圍,如果以後有更新,可以再去看他的官方文件做安裝。
打開 jit 模式
-
修改
tailwind.config.jsmodule.exports = { // ... mode: 'jit', // ... } -
安裝
concurrently讓你可以同時啟動多個指令$ npm install -D concurrently -
修改 package.json
{ // ... "scripts": { // ... "watch:style": "npx tailwindcss src/index.css -o src/tailwind.css --watch", "dev": "concurrently \"npm run watch:style\" \"npm run start\"" }, // ... }
上面的 object key 跟 檔案名稱可以照自己的喜好設定
-
在
src/index.js引入編譯完的CSS// ... import './tailwind.css'; // ... -
啟動
Server$ npm run dev
到這邊就大功告成了。