💡
Tailwind CSSの導入方法(Webpack環境)
はじめに
- TailwindCSSをWebpack環境に入れた際の手順などのメモをまとめたものです
前提
- Tailwind CSS v3
- Webpack v5
- TypeScriptを使用
手順
-
npmでインストールと初期化
npm i -D tailwindcss npx tailwindcss init
-
使うファイルのPathを設定
tailwind.config.jscontent: ["./src/main/resources/**/*.{html,js,ts}"],
-
Webpackで読み込むCSSにTailwindディレクティブを追加
index.css@tailwind base; @tailwind components; @tailwind utilities;
-
関連プラグインのインストール
npm i -D mini-css-extract-plugin css-minimizer-webpack-plugin css-loader postcss postcss-loader autoprefixer
-
webpackからpostcss-loaderを利用出来るように、webpack.config.jsを変更
webpack.config.js... plugins: [ new MiniCssExtractPlugin({ filename: './css/index.css', }), ], ... module: { rules: [ ... { test: /\.css$/i, use: [MiniCssExtractPlugin.loader, 'css-loader', 'postcss-loader'] } ... ], }, optimization: { minimizer: [new CssMinimizerPlugin()], },
-
postcss.config.jsに設定を記述
postcss.config.jsmodule.exports = { plugins: { tailwindcss: {}, autoprefixer: {}, } }
-
WebpackのエントリポイントのTSに記述(Pathは配置した場所に合わせる)
index.tsimport '../css/index.css';
-
HTMLでTailwindの使用を開始する
メモ
-
https://tailwindcss.com/docs/using-with-preprocessors
- ベンダープレフィックスが必要な場合はPostCSSプラグインのAutoprefixerを入れる
-
mini-css-extract-plugin
を使う場合、style-loader
は不要 - 各プラグイン説明
-
mini-css-extract-plugin
- CSSを別ファイルに書き出すプラグイン
- 使わない場合、JSファイルに出力される
- CSSを別ファイルに書き出すプラグイン
-
css-minimizer-webpack-plugin
- CSSをminifyするプラグイン
- 出力されるCSSファイルの容量が減る(開発時はminifyされていない)
- 開発でも実行する場合は、
optimization.minimize
オプションをtrue
に設定する
- 開発でも実行する場合は、
-
css-loader
- CSS を JS で扱える形に変換する loader
- JSでCSSをインポートする際に必要になる
- CSS を JS で扱える形に変換する loader
-
postcss-loader
- CSSビルドプロセスの静的解析からプリプロセッサ、ポストプロセッサまでの様々な処理を実行するOSS
- 他のプラグインと組み合わせてCSSビルドツールを自作するイメージ
- CSSビルドプロセスの静的解析からプリプロセッサ、ポストプロセッサまでの様々な処理を実行するOSS
-
autoprefixer
- ベンダープレフィックスを自動で付けてくれる
-
参考
Discussion