iT邦幫忙

2021 iThome 鐵人賽

DAY 11
0
Modern Web

寫出好維護又簡潔的 react 程式碼 feat: Function Programming系列 第 11

day11: CSS style 規劃 - utility CSS(Tailwind)-2

這個章節我們來介紹怎麼安裝 Tailwind,和使用 Tailwind

我們一樣使用 create-react-app

安裝

npm install -D tailwindcss@npm:@tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9

安裝並設定 CRACO

因為 Create React App 不能複寫 PostCSS 設定,所以我們需要安裝 CRACO 來設定 Tailwind

安裝好了之後,修改 package.json 檔案中的 scripts 以使用 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 做設定

// craco.config.js
module.exports = {
  style: {
    postcss: {
      plugins: [
        require('tailwindcss'),
        require('autoprefixer'),
      ],
    },
  },
}

產生 tailwind config 檔

npx tailwindcss-cli@latest init

讓 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: [],
  }

在 react 中使用 taiwind 樣式

/* ./src/index.css */
@tailwind base;
@tailwind components;
@tailwind utilities;

接著在 App.js 中 import index.css ,確保 taiwind 有被引用

// 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')
  );

上一篇
day10: CSS style 規劃 - utility CSS(Tailwind)-1
下一篇
day12: 模組化好的寫法-為什麼要模組化
系列文
寫出好維護又簡潔的 react 程式碼 feat: Function Programming30

尚未有邦友留言

立即登入留言