J'utilisais le paquet npm font-awesome (qui est la version de Font Awesome 4.7) mais je souhaite mettre à niveau vers Font Awesome 5. J'ai installé les packages suivants:
"@fortawesome/angular-fontawesome": "^0.1.1",
"@fortawesome/fontawesome": "^1.1.8",
"@fortawesome/fontawesome-free-brands": "^5.0.13",
"@fortawesome/fontawesome-free-regular": "^5.0.13",
"@fortawesome/fontawesome-free-solid": "^5.0.13",
"@fortawesome/fontawesome-svg-core": "^1.2.0",
"@fortawesome/free-solid-svg-icons": "^5.1.0",
J'utilisais des icônes comme ceci:
<i class="fa fa-plus"></i>
Avec la nouvelle version, j'ai essayé d'utiliser des icônes comme celle-ci:
<i class="fas fa-sign-out-alt fa-2x"></i>
Mais ça ne fonctionne pas. J'essaie d'ajouter des icônes comme celle-ci:
import {faSignOutAlt} from '@fortawesome/fontawesome-free-solid';
import fontawesome from '@fortawesome/fontawesome';
fontawesome.library.add(faSignOutAlt);
dans mon app.module.ts et cela fonctionne, mais je ne veux pas importer chaque icône une par une. Existe-t-il un moyen de les utiliser comme je le faisais avec la version précédente? Un moyen de ne pas les importer un par un?
Merci
Installer
npm install --save-dev @fortawesome/fontawesome-free
et utiliser dans .angular-cli
"styles": [
"styles.css",
"../node_modules/@fortawesome/fontawesome-free/css/all.css",
reference: Utiliser un gestionnaire de paquets
Oui, vous pouvez les importer et les ajouter tous
import { library } from '@fortawesome/fontawesome-svg-core';
import { fas } from '@fortawesome/free-solid-svg-icons';
import { far } from '@fortawesome/free-regular-svg-icons';
library.add(fas, far);
Vous pouvez également importer des styles d'icônes entiers. Mais fais attention! Quoi que vous importiez, vous risquez de faire gonfler votre dernier paquet avec des icônes que vous n'utilisez pas.
De plus, puisque vous utilisez angular-fontawesome
, utilisez-le ...
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
import { library } from '@fortawesome/fontawesome-svg-core';
import { faCoffee } from '@fortawesome/free-solid-svg-icons';
// Add an icon to the library for convenient access in other components
library.add(faCoffee);
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FontAwesomeModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
et en html
<div style="text-align:center">
<!-- simple name only that assumes the 'fas' prefix -->
<fa-icon icon="coffee"></fa-icon>
<!-- ['fas', 'coffee'] is an array that indicates the [prefix, iconName] -->
<fa-icon [icon]="['fas', 'coffee']"></fa-icon>
</div>
Tout le code extrait de la page d'accueil de la documentation officielle
Vous devez définir l'URL css dans votre index.html
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css">
Voici un exemple de travail: