从 Fontawesome 导入所有图标
Import all icons from Fontawesome
我在我的 Angular 项目中以这种方式使用 Fontawesome 5:
import fontawesome from '@fortawesome/fontawesome';
import { faBold, faItalic, faUnderline } from '@fortawesome/fontawesome-free-solid';
在构造函数中:
fontawesome.library.add(faBold, faItalic, faUnderline)
但是单独导入每个图标是很傻的。我可以以某种方式一次导入所有图标吗?
upd: import * as icons ...
不起作用。
为什么不加载字体作为资产(将文件添加到资产文件夹并在 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 );
我是这样做的,我首先将 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-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 中测试。
就像这里的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);
}
}
我在我的 Angular 项目中以这种方式使用 Fontawesome 5:
import fontawesome from '@fortawesome/fontawesome';
import { faBold, faItalic, faUnderline } from '@fortawesome/fontawesome-free-solid';
在构造函数中:
fontawesome.library.add(faBold, faItalic, faUnderline)
但是单独导入每个图标是很傻的。我可以以某种方式一次导入所有图标吗?
upd: import * as icons ...
不起作用。
为什么不加载字体作为资产(将文件添加到资产文件夹并在 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 );
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-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 中测试。
就像这里的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);
}
}