我以这种方式在Angular项目中使用Fontawesome 5:
import fontawesome from '@fortawesome/fontawesome';
import { faBold, faItalic, faUnderline } from '@fortawesome/fontawesome-free-solid';
并在contructor中:
fontawesome.library.add(faBold, faItalic, faUnderline)
但是分别导入每个图标非常愚蠢。我能以某种方式一次导入所有图标吗?
upd :import * as icons ...
不起作用。
答案 0 :(得分:12)
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 );
答案 1 :(得分:1)
为什么不将字体加载为资源(将文件添加到assets文件夹并在css文件中定义字体)? 然后你可以使用所有角色(图标)。
答案 2 :(得分:0)
,这是我的操作方式,我首先将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);
}
现在,您可以从任何组件内部引用“真棒字体”图标,例如此标记示例:
<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-brands-svg-icons”:“ ^ 5.10.1”, “ @ fortawesome / free-regular-svg-icons”:“ ^ 5.10.1”, “ @ fortawesome / free-solid-svg-icons”:“ ^ 5.10.1”,
注意:我将angular-fontawesome软件包的版本降级为0.3.0。
在Angular 8中进行了测试。
答案 3 :(得分:0)
与此处的docs一样,您可以
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);
}
}