LoginSignup
0
0

More than 1 year has passed since last update.

Rails 7 で複数の CSS のエントリーポイントを使う方法(管理画面は本体とは別の CSS を使いたいときなど)

Last updated at Posted at 2022-11-07

対象

npm パッケージの sass を使っている

rails new 時に --css オプションで bootstrap や bulma, sass を指定した場合は npm パッケージの sass がインストールされています。

結論

sass の Many-to-many Mode を使います。

具体的には package.json のスクリプトのうち、 sass で scss ファイルをコンパイルするコマンドの引数を変更します。

application.bootstrap.scss とは別に admin.scss を使いたい場合

./app/assets/stylesheets/admin.scss:./app/assets/builds/admin.css を追記します。

package.json
{
  "scripts": {
-   "build:css": "sass ./app/assets/stylesheets/application.bootstrap.scss:./app/assets/builds/application.css --no-source-map --load-path=node_modules"
+   "build:css": "sass ./app/assets/stylesheets/application.bootstrap.scss:./app/assets/builds/application.css ./app/assets/stylesheets/admin.scss:./app/assets/builds/admin.css --no-source-map --load-path=node_modules"
  }
}

これで
app/assets/stylesheets/admin.scssapp/assets/builds/admin.css としてコンパイルされ
ビューで <%= stylesheet_link_tag "admin", "data-turbo-track": "reload" %> が使えるようになります。

関連リンク

0
0
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
0
0