Включая font-awesome в библиотеке Angular

В настоящее время мы создаем стороннюю библиотеку Angular. Мы разрабатываем сторонние компоненты и используем отличный шрифт для их разработки.

Мы установили пакет npm font-awesome в главном приложении, в котором мы рендерим компонент.

Но значки отображаются не так, как ожидалось. Есть ли способ включить пакет font-awesome в нашу библиотеку?

Тестирование функциональных 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
0
0
2 260
3

Ответы 3

В index.html добавьте, если вы используете версию 4.7.0:

<link rel = "stylesheet" href = "assets/font-awesome-4.7.0/css/font-awesome.min.css">

Для других версий добавьте соответствующие пути.

в библиотеке нет index.html

Mel 22.08.2019 15:16

@Mel В какой библиотеке отсутствует index.html?

Joe Belladonna 23.08.2019 20:18

В дополнение к тому, что сказал Джо, вы можете добавить флаг integrity:

Используйте бесплатный CDN от Font Awesome

<link rel = "stylesheet" href = "https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity = "sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin = "anonymous">

Другие варианты:

Диспетчер пакетов как npm:

npm install @fortawesome/fontawesome-free

Угловой: Есть официальный компонент Angular:

Согласно этой документации из официальной документации, вот шаги:

Пряжа:

  yarn add @fortawesome/fontawesome-svg-core \
  yarn add @fortawesome/free-solid-svg-icons \
  yarn add @fortawesome/angular-fontawesome

src / app / app.component.html

<div style = "text-align:center">
  <fa-icon [icon] = "faCoffee"></fa-icon>
</div>

src / app / app.component.ts

import { Component } from '@angular/core';
import { faCoffee } from '@fortawesome/free-solid-svg-icons';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'app';
  faCoffee = faCoffee;
}

Импортируйте компонент:

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

import { AppComponent } from './app.component';
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    FontAwesomeModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Если вы используете ng-packagr для создания библиотеки angular, вы можете добавить их в ng-package.json.

Вот как я добавил в библиотеку бутстрап, бурбон и чистый бурбон.

 "lib": {
    "entryFile": "src/public_api.ts",
    "cssUrl": "inline",
    "styleIncludePaths": [
      "src/assets/styles",
      "../../node_modules/bourbon/app/assets/stylesheets",
      "../../node_modules/bourbon-neat/app/assets/stylesheets",
      "../../node_modules/bootstrap/dist/scss/bootstrap"
    ]
  }

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