今回紹介するのは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をインポートします。
使いたいアイコンごとにインポートしてライブラリに追加します。
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タグを追加して、アイコン名を指定します。
<template>
<div>
<fa icon="leaf" />
</div>
</template>
#SolidではなくBlandsのアイコンを使用する場合
Solidではなく、Blandsのアイコンを使用する場合はタグの書き方が少し違います。
まずはBlandsのアイコンをインストール
$ npm install --save @fortawesome/free-brands-svg-icons
main.jsは上記と同様に追記。
import { faFacebook } from '@fortawesome/free-brands-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
library.add(faFacebook)
Brandsのアイコンの使用する際、prefixを指定する必要があります。
<template>
<div>
<fa :icon="{ prefix: 'fab', iconName: 'facebook' }" />
</div>
</template>
#参考
[リンク]https://www.npmjs.com/package/@fortawesome/vue-fontawesome
[リンク]https://qiita.com/kurararara/items/d76776a7dc2d763a068b
もし何か指摘事項等ありましたら、コメントして頂ければ幸いです。