25
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Vue3でFontAwesomeを使ってみた

Last updated at Posted at 2021-05-06

今回紹介するのはvue3でのFontAwesomeの利用方法です。
Vue3という新しいバージョンがリリースされてからまだ間も無く、参考記事がほとんどなかったため、
Vue3でFontAwesomeを利用するのに少し苦労しました。
皆さんの参考になれば幸いです。

#FontAwesomeのインストール

作成したprojectに移動してインストールします。
この時注意が必要なのはvue-fontawesomeをインストールする際に末尾に@prereleaseを入れないとvue3では動きません。

$ npm install --save @fortawesome/fontawesome-svg-core

#アイコンをインストール
$ npm install --save @fortawesome/free-solid-svg-icons

#Vue3で使用するためにインストール
$ npm install --save @fortawesome/vue-fontawesome@prerelease

アイコンは下記タイプがあります。必要に応じてインストールしてください。
・Solid : 内塗り
・Regular : 線(内塗りの逆)
・Light : 細い線(有料プランのみ)
・Brands : ロゴ等

$ npm install --save @fortawesome/free-regular-svg-icons
$ npm install --save @fortawesome/free-brands-svg-icons
$ npm install --save @fortawesome/pro-regular-svg-icons

#main.jsに追加
Vueで使えるようにFontAwesomeをインポートします。
使いたいアイコンごとにインポートしてライブラリに追加します。

main.js
import { createApp } from 'vue'
import App from './App.vue'
import './index.css'
//ここから追加
import { library } from '@fortawesome/fontawesome-svg-core'
import { faLeaf } from '@fortawesome/free-solid-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'

library.add(faLeaf)
//ここまで追加

var app = createApp(App)
//コンポーネントの追加
app.component('fa', FontAwesomeIcon )
app.mount('#app')

#アイコンを使用
faタグを追加して、アイコン名を指定します。

src/components/fontAwesome.vue
<template>
    <div>
        <fa icon="leaf" />
    </div>
</template>

#SolidではなくBlandsのアイコンを使用する場合

Solidではなく、Blandsのアイコンを使用する場合はタグの書き方が少し違います。

まずはBlandsのアイコンをインストール

$ npm install --save @fortawesome/free-brands-svg-icons

main.jsは上記と同様に追記。

main.js
import { faFacebook } from '@fortawesome/free-brands-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'

library.add(faFacebook)

Brandsのアイコンの使用する際、prefixを指定する必要があります。

src/components/fontAwesome.vue
<template>
    <div>
        <fa :icon="{ prefix: 'fab', iconName: 'facebook' }" />
    </div>
</template>

#参考
[リンク]https://www.npmjs.com/package/@fortawesome/vue-fontawesome
[リンク]https://qiita.com/kurararara/items/d76776a7dc2d763a068b

もし何か指摘事項等ありましたら、コメントして頂ければ幸いです。

25
18
1

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
25
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?