В настоящее время мы создаем стороннюю библиотеку Angular. Мы разрабатываем сторонние компоненты и используем отличный шрифт для их разработки.
Мы установили пакет npm font-awesome в главном приложении, в котором мы рендерим компонент.
Но значки отображаются не так, как ожидалось. Есть ли способ включить пакет font-awesome в нашу библиотеку?





В index.html добавьте, если вы используете версию 4.7.0:
<link rel = "stylesheet" href = "assets/font-awesome-4.7.0/css/font-awesome.min.css">
Для других версий добавьте соответствующие пути.
@Mel В какой библиотеке отсутствует index.html?
В дополнение к тому, что сказал Джо, вы можете добавить флаг 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"
]
}
в библиотеке нет index.html