LoginSignup
6
5

More than 1 year has passed since last update.

Tailwind CSS for RailsがDockerコンテナ内で反映されないときの対処法。purge設定に"html.erb"を含めていないことが原因

Last updated at Posted at 2022-05-28

Tailwind CSS for Railsがローカルの開発環境では動いていたのに、Dockerコンテナ内で突然反映されなくなるという現象に遭遇しました。

まず、よくある原因は次の通りです。

よくある原因

tailwind.config.jsのpurge設定が正しくない。

# ディレクトリ構造(Dockerコンテナ内)
/var/www
     └── myapp  # Rails
         ├── app
         │   ├── ...
         │   ├── ...
         │   └── views
         ├── ...
         ├── config
         │   ├── ...
         │   ├── tailwind.config.js
         │   └── ...
         ├── ...
         └── ...
myapp/config/tailwind.config.js
module.exports = {
  content: [
    // "./app/**/*.{html,js}",        <= パス間違い
    "../myapp/app/**/*.{html,js}",  //<= 正
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}

※"puege"はtailwindcss v3.0 から"content"に変更されたようです。

しかし、この設定ではRailsアプリ上で意図したようにCSSが反映されません。
Tailwind CSSをRailsで運用する場合にはもう一つ注意点があります。

結論

tailwind.config.jsのpurge設定にhtml.erbを指定する。

myapp/config/tailwind.config.js
module.exports = {
  content: [
    // "../myapp/app/**/*.{html,js}",
    "../myapp/app/**/*.{html.erb, html, js}", //<="html.erb"を指定する
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}

$ rails tailwindcss:buildを実行後、無事にTailwind CSSが反映されました。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5