LoginSignup
7
4

More than 3 years have passed since last update.

nuxt-buefyでMaterialDesignIconsのCDN読み込みをやめる

Last updated at Posted at 2020-01-30

Nuxt.jsのプロジェクト作成時にBuefyを選択した場合、nuxt-buefyを使うようになります。
何も設定せずにMaterialDesignIcons(mdi)が使えるんですが、デフォルトのままではcssをCDNで読み込んでしまいます。
GithubのIssueで回避方法が紹介されているんですが、紹介した方はこのやり方に納得していないようです。
それにこのやり方だと、mdiのcssをコミットに含めてしまうため、あまり得策とは言えません。

という事で、コミットにcssを含めずCDNを使わない方法を考えてみました。紹介します。
IssueのやりとりでjtommyさんがmaterialDesignIconsをfalseにしろって言ってますね(^^;;

まずmdiのパッケージを追加します。

yarn add @mdi/font

nuxt.config.js(ts)のcssにmdiのパスを追加しnuxt-buefyのCDN読み込みを止めます。

nuxt.config.js
css: [
    '@mdi/font/css/materialdesignicons.min.css'
],
modules: [
    [
        'nuxt-buefy',
        {
            materialDesignIcons: false
        }
    ]
],

buefyのcssをカスタマイズしてる場合、そのcssより先にmdiのcssを読み込む必要があります。

nuxt.config.js
css: [
    '@mdi/font/css/materialdesignicons.min.css',
    '~/assets/style.scss'
],
modules: [
    [
        'nuxt-buefy',
        {
            css: false,
            materialDesignIcons: false
        }
    ]
],

これだけでパフォーマンスが若干向上するはずです。

それでは良いnuxt-buefyライフを🤘

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