💡
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