Usare FontAwesome con Vue3

Mi servivano alcune icone per un nuovo progetto, sviluppato con Laravel e Vue3.
Cosa c'è di meglio se non il buon vecchio FontAwesome?

Per poter utilizzare le icone all'interno della propria applicazione sono necessari alcuni semplici passaggi.
Di seguito il procedimento utilizzando npm.

1 - Installare SVG Core

Come prima cosa installiamo un package iniziale che include tutte le utilities necessarie per far funzionare le icone.

npm i --save @fortawesome/fontawesome-svg-core

 

2 - Installare i package delle icone

Volendo installare le icone free inseriamo i comandi per importare i relativi package

npm i --save @fortawesome/free-solid-svg-icons
npm i --save @fortawesome/free-regular-svg-icons
npm i --save @fortawesome/free-brands-svg-icons

 

3 - Installare il componente VUE

Per Vue 3.x il comando è

npm i --save @fortawesome/vue-fontawesome@latest-3

A questo punto una volta installato tutto è possibile iniziare a integrare le icone all'interno dell'applicazione.

 

4 - Setup delle librerie

Nel file main.js/app.js andiamo a importare tutti i componenti e inizializzare la libreria

/* Vue 3 */
import { createApp } from 'vue'
import App from './App.vue'

/* import fontawesome core */
import { library } from '@fortawesome/fontawesome-svg-core'

/* import font awesome icon component */
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'

/* import icone specifiche */
import { faUser } from '@fortawesome/free-solid-svg-icons'
import { faUserSecret } from '@fortawesome/free-solid-svg-icons'

/* aggiunge le SINGOLE icone alla library */
library.add(faUser ,faUserSecret)

createApp(App)
.component('font-awesome-icon', FontAwesomeIcon)
.mount('#app')

Nell'esempio vengono importate solo 2 icone specifiche.
Nel caso in cui volessimo importare tutte le icone per gli stili regular e solid possiamo modificare il codice in questo modo:

/* import TUTTE le icone SOLID + REGULAR */
import { fas } from "@fortawesome/free-solid-svg-icons";
import { far } from "@fortawesome/free-regular-svg-icons";

/* aggiungo i set completi delle icone alla library */
library.add(fas, far);

 

5 - Usare le icone

A questo punto è tutto pronto e possiamo usare le icone all'interno dell'applicazione.
La libreria mette a disposizione 2 metodi, il formato stringa:

<font-awesome-icon icon="fa-solid fa-user-secret" />

oppure il formato array:

<font-awesome-icon :icon="['fas', 'user-secret']" />

 


Commenti