zukucode
主にWEB関連の情報を技術メモとして発信しています。

Vue.js FontAwesome5を導入する

webpackを使ったvue.jsのプロジェクトにFontAwesomeを導入します。

webpackなどの環境は作成済みとします。

パッケージのインストール

最初に、以下のパッケージをインストールします。

@fortawesome/fontawesome-svg-core
fontawesomeのコアモジュール
@fortawesome/vue-fontawesome
fontawesomevue.jsで使用する
@fortawesome/free-solid-svg-icons
アイコンセット(使用しない場合は不要)
@fortawesome/free-regular-svg-icons
アイコンセット(使用しない場合は不要)
@fortawesome/free-brands-svg-icons
アイコンセット(使用しない場合は不要)
$ npm install @fortawesome/fontawesome-svg-core @fortawesome/vue-fontawesome @fortawesome/free-solid-svg-icons @fortawesome/free-regular-svg-icons @fortawesome/free-brands-svg-icons

導入

以下のようにインストールしたパッケージを読み込み、Vueコンポーネントとして登録します。

以下の例ではv-faFontAwesomeアイコンのコンポーネントとして登録しています。

import { library } from '@fortawesome/fontawesome-svg-core';
import { fas } from '@fortawesome/free-solid-svg-icons';
import { far } from '@fortawesome/free-regular-svg-icons';
import { fab } from '@fortawesome/free-brands-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';

// アイコンを読み込み
library.add(fas, far, fab);

// Vueコンポーネントを作成
Vue.component('v-fa', FontAwesomeIcon);

使い方

以下のようにvueコンポーネント内で使用できます。

spinrotationなど様々なプロパティが用意されています。詳しい設定は公式ページをご確認ください。

参考URL:vue-fontawesome

xxx.vue
<template>
    <v-fa icon="plus" /> <!--solid icon-->
    <v-fa :icon="['far', 'edit']" /> <!--regular icon-->
    <v-fa icon="plus" size="xs" /> <!--sizeを指定-->
</template>

関連記事

  • webpack lessをImportしてビルドする

    Vue.js lessを使いwebpackでビルドするでvueファイルの中でlessを実装してビルドする方法を紹介しました。htmlやbodyなどに適用するベースのクラスを外部のlessファイルに実装...


  • ExtractTextPluginでcssファイルを出力する

    webpackのプラグインExtractTextPluginを使って、ビルドされたjsファイルからstyleの部分を抽出してcssファイルで出力します。extract-text-webpack-plu...


  • webpack-dev-serverで開発サーバーを起動する

    webpack-dev-serverで開発サーバーを起動します。ファイルやフォルダ構成などの環境はvueファイル(単一ファイルコンポーネント)をwebpackでビルドで紹介したものと同様とします。we...


  • webpack モジュールのパスを絶対パスで指定する方法

    自分で作成したモジュールをインポートするときはインポートするファイルを基準に相対パスで指定する必要があります。フォルダ構成によっては深く階層を辿らないといけないので、フォルダ構成が変わってしまうと大変...


  • Vuex 厳格(strict)モードでエラーになるよくある原因

    Vuexの厳格(strict)モードでエラーになってしまう原因でよくあるパターンです。stateに格納した配列をソートして表示するときに、stateの値をcomputedやgettersでそのままソー...


  • Vuex stateを作成して各コンポーネントで参照する

    Vue.jsにVuexを導入するでVuexの導入が完了しました。実際にstoreを作成して、各コンポーネントでその値を参照できるようにします。最初にstoreを作成します。mutations.jsにs...


  • Vuex mutationでstateの値を変更する

    Vuex stateを作成して各コンポーネントで参照するでstateを作成して各コンポーネントで参照できるようになりました。stateはmutationの処理でしか変更できません。コンポーネントからm...


  • Vuex moduleに定義したstateをコンポーネントで簡単に取得する

    Vuexのモジュールに定義したstateを各コンポーネントで参照する方法を紹介します。以下のようにmoduleが定義されているとします。各コンポーネントではthis.$store.state.モジュー...


  • Vuexとaxiosを連携する

    Vuex actionでローディングアイコンを表示するで、actionの処理でローディングの表示非表示を制御するmutationを実行するようにしました。ajaxの処理が増えるたびに同じmutatio...


  • Vuex モジュールのactionの処理で別モジュールのactionをコールする

    Vuexのモジュール内のactionの処理で別モジュールのactionをコールする方法を紹介します。ルートのactionの場合、moduleで定義したactionをコールする場合は、以下のようにモジュ...