[Docusaurus] TailwindCSS
安裝
安裝 TailwindCSS:
pnpm add -D tailwindcss postcss autoprefixer
輸入初始化指令,建立 tailwind.config.js 檔案:
npx tailwindcss init
可以在 tailwind.config.js 檔案中看到目前的預設值:
tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [],
theme: {
extend: {},
},
plugins: [],
}
我們要的是 typescript 版本,所以將檔案改成 tailwind.config.ts:
tailwind.config.ts
import type { Config } from 'tailwindcss';
const config: Config = {
content: [],
theme: {
extend: {},
},
plugins: [],
}
export default config;
設定
根據需求調整 config 檔案,將 src 資料夾設定在 content 路徑中:
tailwind.config.ts
import type { Config } from 'tailwindcss';
const config: Config = {
corePlugins: {
preflight: false,
container: false,
},
content: ["./src/**/*.{jsx,tsx,mdx,html}"],
darkMode: ["class", '[data-theme="dark"]'],
theme: {
extend: {},
},
plugins: [],
}
export default config;
注意
如果要保留原本 docusaurus 的 css 設定,可以將 preflight 設定為 false (Ref: Docusaurus and Tailwind CSS)
Docusaurus Config
接下來要將 TailwindCSS 作為 plugin 加入到 Docusaurus 的 config 檔裡。
前往 docusaurus.config.ts 檔案,可以看到有一個 plugins 的屬性,待會要將 Taiwin
docusaurus.config.ts
const config: Config = {
title: 'My Site',
tagline: 'Dinosaurs are cool',
favicon: 'img/favicon.ico',
.
.
.
plugins: [],
}
建立 TailwindCSS plugin
在 root 目錄底下建立 plugins 資料夾,然後建立 tailwind-config.cjs 檔案

將以下 script 放入 tailwind-config.cjs:
tailwind-config.cjs
function tailwindPlugin(context, options) {
return {
name: 'tailwind-plugin',
configurePostCss(postcssOptions) {
postcssOptions.plugins = [
require('postcss-import'),
require('tailwindcss'),
require('autoprefixer'),
];
return postcssOptions;
},
};
}
module.exports = tailwindPlugin;
加入 TailwindCSS plugin
接著回到 docusaurus.config.ts 檔案,加入 tailwindPlugin:
docusaurus.config.ts
import tailwindPlugin from "./plugins/tailwind-config.cjs"; // add this
//...
const config: Config = {
title: 'My Site',
tagline: 'Dinosaurs are cool',
favicon: 'img/favicon.ico',
//...
plugins: [tailwindPlugin], // update this
}
開始使用 TailwindCSS
pnpm run start


