Nuxt3でfont awesomeを使う
参考
環境
> node -vv17.6.0
> npm -v8.5.1npm install
npm i --save @fortawesome/fontawesome-svg-corenpm i --save @fortawesome/free-solid-svg-iconsnpm i --save @fortawesome/vue-fontawesome@prerelease- free-regular-svg-iconsとfree-brands-svg-iconsも必要に応じてインストール
コード
nuxt.config.ts
import { defineNuxtConfig } from "nuxt";
export default defineNuxtConfig({ build: { transpile: [ "@fortawesome/fontawesome-svg-core", "@fortawesome/free-regular-svg-icons", "@fortawesome/free-brands-svg-icons", "@fortawesome/free-solid-svg-icons", "@fortawesome/vue-fontawesome", ], }, css: ["@fortawesome/fontawesome-svg-core/styles.css"],});plugins/Fontawesome.ts
import { library } from "@fortawesome/fontawesome-svg-core";// import { fas } from "@fortawesome/free-solid-svg-icons";// import { far } from "@fortawesome/free-regular-svg-icons";import { faGoogle, faTwitter } from "@fortawesome/free-brands-svg-icons";import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
export default defineNuxtPlugin((nuxtApp) => { library.add(faGoogle, faTwitter); nuxtApp.vueApp.component("font-awesome-icon", FontAwesomeIcon);});※利用するフォントをlibraryにaddする。fasとかfabをimportすると全てのフォントを一括でimportできるっぽい。
login.vue
<template> <font-awesome-icon :icon="['fab', 'google']" /></tempalte>