padding
を 0
にしたい場合、Tailwind CSS では、p-0
と class 属性に代入するだけで実現可能。スタイルファイル内のコード量も抑えられます。# npm の場合 npx create-next-app next-tailwind -e with-tailwindcss # yarn の場合 yarn create next-app next-tailwind -e with-tailwindcss
├── .gitignore ├── README.md ├── node_modules ├── package.json ├── pages ├── postcss.config.js ├── public ├── tailwind.config.js └── yarn.lock
pages/index.js
のファイルを確認してみると、すでに Tailwind CSS を用いた装飾がされています!// pages/index.js ... <h1 className="text-6xl font-bold"> Welcome to{' '} <a className="text-blue-600" href="https://nextjs.org"> Next.js! </a> </h1> ...
# npm の場合 npm run dev # yarn の場合 yarn dev
# npm の場合 npx create-next-app next-ts-tailwind --typescript # yarn の場合 yarn create next-app next-ts-tailwind --typescript
├── .eslintrc ├── .gitignore ├── README.md ├── next-env.d.ts ├── next.config.js ├── node_modules ├── package.json ├── pages ├── public ├── styles ├── tsconfig.json └── yarn.lock
# npm の場合 npm install -D tailwindcss@latest postcss@latest autoprefixer@latest # yarn の場合 yarn add -D tailwindcss@latest postcss@latest autoprefixer@latest
# npm の場合 npx tailwindcss init -p # yarn の場合 yarn tailwindcss init -p # 実行結果 Created Tailwind CSS config file: tailwind.config.js Created PostCSS config file: postcss.config.js ✨ Done in 0.86s.
tailwind.config.js
postcss.config.js
// tailwind.config.js module.exports = { purge: [], darkMode: false, // or 'media' or 'class' theme: { extend: {}, }, variants: { extend: {}, }, plugins: [], };
// postcss.config.js module.exports = { plugins: { tailwindcss: {}, autoprefixer: {}, }, };
tailwind.config.js
内にある purge
オプションを設定することで、ビルド生成時の未使用のスタイルを除外し、パフォーマンスの最適化を行えます。今回は pages
と components
ディレクトリ内を purge
の対象範囲とします。変更するコードは以下の通りです。// tailwind.config.js module.exports = { // 追記 purge: ['./pages/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}'], darkMode: false, // or 'media' or 'class' theme: { extend: {}, }, variants: { extend: {}, }, plugins: [], };
// tailwind.config.js module.exports = { // 追記 mode: 'jit', purge: ['./pages/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}'], darkMode: false, // or 'media' or 'class' theme: { extend: {}, }, variants: { extend: {}, }, plugins: [], };
pages/_app.tsx
で読み込むようにし、グローバルで適用させましょう。コードは以下の通りです。// pages/_app.tsx // Tailwind CSS 以外のスタイルファイルはグローバルで適用したくないため削除 // import '../styles/globals.css' // 追記 import 'tailwindcss/tailwind.css'; import type { AppProps } from 'next/app'; function MyApp({ Component, pageProps }: AppProps) { return <Component {...pageProps} />; } export default MyApp;
# npm の場合 npm install -D eslint-plugin-tailwindcss # yarn の場合 yarn add -D eslint-plugin-tailwindcss
.eslintrc
に、以下の変更を加えます。// .eslintrc { "extends": [ "next", "next/core-web-vitals", "prettier", "plugin:import/recommended", "plugin:import/typescript", "plugin:import/warnings", // 追記 "plugin:tailwindcss/recommended" ], // 追記 // tailwind.config.js などの config ファイル、ESLint の対象外にする "ignorePatterns": ["*.config.js"], "rules": { "import/order": [ "error", { "alphabetize": { "order": "asc" } } ] } }
新着記事
関連記事
著者