Angular 8 中的 FontAwesome,导入的最佳方式?

Sch*_*z54 4 font-awesome angular

我在我的 angular 8+ 应用程序中使用 fontawesome 5.x,导入图标的系统对我来说非常非常糟糕。这就是我的做法:(就像文档说https://github.com/FortAwesome/angular-fontawesome

import { Component, OnInit } from '@angular/core';
import {faHome,faSearch,faArchive,faFileSignature,
    faAddressBook,faUserMd,faDesktop} from '@fortawesome/free-solid-svg-icons/'

@Component({
selector: 'app-menu',
templateUrl: './menu.component.html',
styleUrls: ['./menu.component.css']
})
export class MenuComponent implements OnInit {
faHome = faHome;
faSearch = faSearch;
faArchive = faArchive;
faFileSignature = faFileSignature;
faAddressBook = faAddressBook;
faUserMd = faUserMd;
faDesktop = faDesktop;
constructor() { }

ngOnInit() {
}

}
Run Code Online (Sandbox Code Playgroud)

如果您有 < 10 个图标,这可能没问题,但如果您有 +10,我认为这太糟糕了。还有另一种更好的方法来导入它吗?我正在搜索 fontawesome 的 css 文件以在脚本中“导入它”,angular.json就像我使用 bootstrap popper.js 和 jquery 所做的那样,但没有在 node_modules 中找到它。

那么,还有另一种方法可以做到这一点更“干净”吗?(不是 CDN 方式)

[解决]

好的,我正在为桌面应用程序导入 fontawesome 库,而不是为 Web 应用程序导入。有了网络应用程序包,我可以像我一样做。

谢谢你们。

Sch*_*z54 16

我如何在 Angular8+ 中导入 fontAwesome 图标

1º 步 npm install --save-dev @fortawesome/fontawesome-free

2º步骤angular.json粘贴到CSS和JS @fortawesome路线:

  "styles": [
          "src/styles.css",
          "node_modules/bootstrap/dist/css/bootstrap.min.css",
          "node_modules/@fortawesome/fontawesome-free/css/all.min.css" // this
        ],
        "scripts": [ 
          "node_modules/jquery/dist/jquery.min.js",
          "node_modules/popper.js/dist/umd/popper.min.js",
          "node_modules/bootstrap/dist/js/bootstrap.min.js",
          "node_modules/@fortawesome/fontawesome-free/js/all.min.js" //this
        ]
Run Code Online (Sandbox Code Playgroud)

这就是我想要的。有了这个,您只需要<i class="fas fa-home"></i>在 html 中粘贴图标(例如:)。

我发布的另一种方式是我认为的桌面应用程序。

  • 这样您就可以导入整个图标库。对于捆绑包大小问题,最好使用 fortawesome 包仅导入您真正使用的图标。尝试本文中描述的库方式:https://www.angularjswiki.com/angular/how-to-use-font-awesome-icons-in-angular-applications/ (2认同)