Tailwind CSS(-v3)の導入
daisyUIを使うために、Tailwind CSS(-v3)の導入
daisyUIを使うには、Node.js と Tailwind CSS の導入が必要で、Tailwindの導入とファイルのおき場所に手こずりました。備忘録としてまとめます。
・使用
ruby 3.1.2
rails 6.1.6
node 16.0.0(インストロール済み、指定があり設定途中でアップデート)
はじめに
PostCSSのプラグインとしてTailwindをインストールする
(PostCSSは、プラグインされたCSSを解析し、処理効率の良いCSSを新たに出すもので、良いらしかったから)
インストールを進めていく!
$ npm install -D tailwindcss postcss autoprefixer
tailwindcssに関係するファイルが生成される
- node_modules
- package.json
- package-lock.json
package.jsonのdevDependencies
以下に"autoprefixer"
,"postcss"
,"tailwindcss"
が記述される
~~~
"devDependencies": {
"autoprefixer": "^9.8.8",
"postcss": "^8.4.19",
"tailwindcss": "^3.2.4",
"webpack-dev-server": "^3"
},
設定ファイルの生成
$ npx tailwindcss init -p
以下のファイルが生成される
① tailwind.config.js
② postcss.config.js
①tailwind.config.jsに設定を書く
→ content
内に、どこのファイルにTailwindを反映させたいかを設定できる
(自分はviewsディレクトリ以下の全部のファイルに反映させたかった↓)
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
'./app/views/**/*.html.erb',
],
theme: {
extend: {},
},
plugins: [],
}
// ** は複数のファイルを表す
// * は一つのファイルを表す
②postcss.config.jsにプラグインを記述
PostCSSにプラグインするtailwindcss
とautoprefixer
を記述する
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
}
}
出力ファイルの作成
cssとして最終的に使うファイルのこと↑
TailwindCSSをPostCSSを使ってインストールしていく
1.taillwindの呪文ファイルを作成
ファイル名は任意で付けて、「〇〇.css」のファイルを作成し、Tailwind cssを記述する
自分はtailwind_input.css
にした。
@tailwind base;
@tailwind components;
@tailwind utilities;
黄色のニョロニョロが出る(cssのバリデーション)ので、拡張機能のPostCSS Language Support
をインストールすると消える
※htmlにcssをリンクで書く時は <link rel="stylesheet" href="〇〇.css">
のherfには直接入らないファイル。(herfにはビルド後のCSSファイルが使われる)
2.出力されるファイルを作成
PostCSSを使ってtaillwindの呪文ファイルをビルドすると、新しいCSSファイルが出力される。
なので、taillwindのCSSが出て欲しいところに出力ファイルを作る。
(こちらもファイル名は任意で付ける)
自分は全体のhtmlに使われてほしいので、app/assets/stylesheets
ディレクトリ以下にtailwind_dist.css
を作った。(ビルド後のファイル名として、よくdist
が付けられる。)
- このcssファイルは、コンパイル後に自動で記述されるので空のままでOK
※htmlにcssをリンクで書く時は <link rel="stylesheet" href="〇〇.css">
のhrefに入るファイル
3.package.jsonにビルド文を記述
まず、"scripts"内のtest文を削除する
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1" // ←削除
},
代わりに、"dev": "tailwindcss -i 〇〇.css -o 〇〇,css --watch"
を記述する。
-
-i
の後ろは、インストール対象ファイル名
(1.で作成した @tailwind達を書いたファイル) -
-o
の後ろは、アウトプットするファイル名
(2.で作成した ビルド後のCSSファイル。@tailwindをビルドした結果が出力されるファイル)
"devDependencies": {
"autoprefixer": "^9.8.8",
"postcss": "^8.4.19",
"tailwindcss": "^3.2.4",
"webpack-dev-server": "^3"
},
"scripts": {
"dev": "tailwindcss -i tailwind_input.css -o app/assets/stylesheets/tailwind_dist.css --watch"
}
4.ビルドコマンドを実行する
$ npm run dev
tailwind_dist.cssに2500行以上の文が自動で生成されている.
control + C
で実行中の処理を停止できる
おさらい
tailwind_input.css
を作成(tailwindの内容が書いてある)
↓
package.json
を修正(ビルドコマンド文を記述する)
↓
npm run dev
を実行(ターミナルコマンドでpackage.jsonに書いたことを実行する)
↓
tailwind_dist.css
が出力される(PostCSSによってビルドされたtailwindCSSが記述される)
hrmlで確認
htmlファイルに、 <button class="bg-green-400 hover:bg-green-300 text-white rounded px-4 py-2">Green 400</button>
を書くと緑のボタンがでる!
(※npm run dev
とrails s
をしてからできた。macに直接パスのコピペ
では反映されなかった)
反映されていない時の確認
- application.cssに関わらない位置に出力cssファイルを設置した時は、
<link rel="stylesheet" href="〇〇.css">
のherfのパスが正しいか見る - tailwind.config.jsのconent内のパスが正しいか見る
- 'npm run dev'をする
tailwindの公式リンク
PostCSSの参考リンク
tailwindの参考リンク
tailwindの参考リンク
最後に
はじめての技術ブログ投稿でした。
tailwindの導入することができた嬉しさと、苦戦して辛かったので、
私も誰かの足しになることができたら、、と思い書きました。👀
思ったよりも時間がかかった!
他の記事も数時間かけて書かれているんだと分かりました🙇♂️
ありがとうございました。
Discussion