从Fontawesome导入所有图标

时间:2018-04-17 15:30:45

标签: angular font-awesome font-awesome-5 angular-fontawesome

我以这种方式在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 ...不起作用。

4 个答案:

答案 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 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);
  }

现在,您可以从任何组件内部引用“真棒字体”图标,例如此标记示例:

    <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);
  }
}