のぐそんブログ

暗いおじさんがシコシコ書くブログです。

VueでグローバルなCSSを読み込む方法

Vueを利用している場合に、scopedを利用して、CSSカプセル化するのが普通だとおもいますが、その場合bodyhtmlに値を適応することができませんでした。

グローバルにCSSを設定するのに少し悩んだのでメモしておきます。

1. App.vueのscopedを外す

scopedを外せば、当然全ての値がグローバルに展開されます。

2. main.jsでcssをimportする

main.jsでグローバルに展開するcssをimportします。

import './assets/css/global.css'

3. publicフォルダに置いてindex.htmlで読む

静的ファイルとしてpublicフォルダ配下に置いて読み込むようにします。 一番ベーシックな方法かもしれません。

どの方法がよいか

どれでも問題ないかなと思っていますが、私個人としては2番を利用しています。

理由は...
1の場合はApp.vueが大きくなると見通しが悪くなりそうな印象があり、
3は静的ファイルに手を入れるのがなんとなく嫌だったというぼんやりとした理由です。

「Using global style rules in a Vue.js app」が参考になります。