😺
Laravel6.*にTailwind CSSを導入する
環境
Laravel: 6.20.32
Tailwind CSS: 3.0.8
laravel-mix: 6.0.18
webpack-cli: 4.5.0
webpack: 5.9.0
Tailwind CSSをインストール
$ npm install tailwindcss
設定ファイルの作成
Tailwind CSSのインストール完了後、設定ファイルを作成。
こちらでカスタマイズが行えます。
$ npx tailwind init
✅ Created Tailwind config file: tailwind.config.js
設定ファイル(tailwind.config.js)の編集
contentの項目にTailwindCSSのスタイルを参照するファイルを全て記述します。
(バージョン2系の場合はpurge)
※この記述がないとTailwindCSSは反映されません。
tailwind.config.js
module.exports = {
content: [
'./resources/**/*.blade.php',
'./resources/**/*.js',
'./resources/**/*.vue',
],
darkMode: false, // or 'media' or 'class'
theme: {
extend: {},
},
variants: {
extend: {},
},
plugins: [],
}
webpack.mix.jsファイルの更新
webpack.mix.js
const mix = require('laravel-mix');
const tailwindcss = require('tailwindcss');
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css')
.options({
processCssUrls: false,
postCss: [ tailwindcss('./tailwind.config.js') ],
});
Laravel Mixの更新
Laravel Mix6系〜 scriptsの書き方が異なります。
package.json
"scripts": {
"dev": "npm run development",
"development": "mix",
"watch": "mix watch",
"watch-poll": "mix watch -- --watch-options-poll=1000",
"hot": "mix watch --hot",
"prod": "npm run production",
"production": "mix --production
}
app.scssファイルの更新
8系からデフォルトでTailwindCSSが搭載されているそうです。
6系はbootstrapがデフォルトなのでbootstrapの記述はコメントアウトして構いません。
app.scss
// Tailwond CSS
@import 'tailwindcss/base';
@import 'tailwindcss/components';
@import 'tailwindcss/utilities';
npm run watchコマンドを実行してビルドを行い、tailwindの設定が反映されているのか確認を行います。(npm run watchコマンドで反映されない場合は、npm run watch-pollコマンド)
$ npm run watch
正しく反映されれば、TailWind CSSの導入が完了です!
もし、正しく行えない場合
各種パッケージ同士のバージョンの互換性がない可能性があります!
package.jsonでインストールされているバージョンの互換性を確認し、再度インストールを行ってください。
npmを再度インストールする際の手順
// node_modulesを削除
$ rm -rf node_modules
// バージョン情報を削除
$ rm package-lock.json
// npmのキャッシュをクリア
$ npm cache clear --force
$ npm install
Discussion