Импортируйте все значки из Fontawesome

Я использую Fontawesome 5 в моем проекте Angular следующим образом:

import fontawesome from '@fortawesome/fontawesome';
import { faBold, faItalic, faUnderline } from '@fortawesome/fontawesome-free-solid';

и в конструкторе:

fontawesome.library.add(faBold, faItalic, faUnderline)

Но импортировать каждую иконку по отдельности очень глупо. Можно как-то импортировать сразу все иконки?

UPD: import * as icons ... не работает.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
16
0
7 291
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Почему бы не загрузить шрифт как актив (добавив файлы в папку ресурсов и определив шрифт в файле css)? Тогда у вас есть все символы (значки), доступные для использования.

Ответ принят как подходящий
import { fas } from '@fortawesome/fontawesome-free-solid';

а потом

fontawesome.library.add(fas)

то же самое для других стилей

import { fab } from '@fortawesome/fontawesome-free-brands';
import { far } from '@fortawesome/fontawesome-free-regular';
...
fontawesome.library.add( fab, far );

Привет, не могли бы вы объяснить, почему это работает? Когда я установил fontawesome 5, он не создал никакой папки fontawesome-free-solid в node_modules и, следовательно, у меня возникла ошибка при компиляции. Как это работает? Спасибо.

mimic 18.09.2018 03:16

Font Awesome 5 in Angular 8 based app Вот как я это сделал. Сначала я импортирую пакеты Font awesome в модуль приложения:

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 { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
import { library } from '@fortawesome/fontawesome-svg-core';

Импортируем FontAwesomeModule также в раздел импорта.

Добавьте в свой конструктор модуля приложения следующее:

 constructor(){
    library.add(fab, far, fas);
  }

Теперь вы можете ссылаться на значки Font Awesome из любого компонента, как в этом примере разметки:

    <div class = "crop"
     (click) = "onClick()"
     [style.width.px] = "starWidth"
     [title] = "rating">
  <div style = "width: 75px">
    <span><fa-icon [icon] = "['far', 'star']"></fa-icon></span>
    <span><fa-icon [icon] = "['far', 'star']"></fa-icon></span>
    <span><fa-icon [icon] = "['far', 'star']"></fa-icon></span>
    <span><fa-icon [icon] = "['far', 'star']"></fa-icon></span>
    <span><fa-icon [icon] = "['far', 'star']"></fa-icon></span>
  </div>
</div>

Обратите внимание, что если вы не используете сплошные значки из библиотеки fas, вы должны указать тип библиотеки значков Font Awesome, например, far для обычных значков.

В итоге я использовал следующие пакеты npm: "@ fortawesome / angular-fontawesome": "^ 0.3.0", "@ fortawesome / fontawesome-svg-core": "^ 1.2.21", "@ fortawesome / free-sizes-svg-icons": "^ 5.10.1", "@ fortawesome / free-regular-svg-icons": "^ 5.10.1", "@ fortawesome / free-solid-svg-icons": "^ 5.10.1",

Примечание. Я вернулся к версии 0.3.0 пакета angular-fontawesome.

Протестировано в Angular 8.

Как и в документы здесь, вы можете сделать

import { fas } from '@fortawesome/free-solid-svg-icons';
import { far } from '@fortawesome/free-regular-svg-icons';
import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome';

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

export class AppModule {

constructor(library: FaIconLibrary) {
  library.addIconPacks(fas, far);
  }
}

Другие вопросы по теме