angular - NullInjectorError : No provider for FaConfig

标签 angular npm font-awesome

使用 npm 将 angular-fontawesome 安装到 angular 应用程序中,如提到的 in github

在开发模式下工作正常。但是在生产构建中出现错误。

当然最初的错误是

NullInjectorError: StaticInjectorError(Do)[qm -> t]: StaticInjectorError(Platform: core)[qm -> t]: NullInjectorError: No provider for t!

必须将 angular.json 中的设置更改为
"optimization": false,
...
"buildOptimizer": true,

找出实际错误
NullInjectorError: StaticInjectorError(AppModule)[FaIconComponent -> FaConfig]: StaticInjectorError(Platform: core)[FaIconComponent -> FaConfig]: NullInjectorError: No provider for FaConfig!

我该如何解决这个问题。

该模块有
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';

添加到进口
  @NgModule({
  declarations: [...],
  imports: [
    ...
    FontAwesomeModule
  ],

并且组件有
import { faEllipsisV, ... } from '@fortawesome/free-solid-svg-icons';

就像如何指导中提到的那样。

这是依赖项
  "dependencies": {
    "@angular/animations": "~8.2.11",
    "@angular/cdk": "~8.2.3",
    "@angular/common": "~8.2.11",
    "@angular/compiler": "~8.2.11",
    "@angular/core": "~8.2.11",
    "@angular/forms": "~8.2.11",
    "@angular/material": "^8.2.3",
    "@angular/platform-browser": "~8.2.11",
    "@angular/platform-browser-dynamic": "~8.2.11",
    "@angular/router": "~8.2.11",
    "@fortawesome/angular-fontawesome": "^0.6.0-alpha.0",
    "@fortawesome/fontawesome-svg-core": "^1.2.25",
    "@fortawesome/free-solid-svg-icons": "^5.11.2",
    "bootstrap": "^4.3.1",
    "classlist.js": "^1.1.20150312",
    "hammerjs": "^2.0.8",
    "ngx-bootstrap": "^5.2.0",
    "ngx-cookie-service": "^2.2.0",
    "ngx-webstorage-service": "^4.1.0",
    "rxjs": "~6.4.0",
    "tslib": "^1.10.0",
    "web-animations-js": "^2.3.2",
    "zone.js": "~0.9.1"
  }

Angular 版本 8.3.12.

最佳答案

这是最新版本 0.6.0-alpha.0 中的一个问题,当您不指定版本时,它可能会自动安装。

https://github.com/FortAwesome/angular-fontawesome/issues/210

您可以降级到版本 0.5.0 以解决此 AOT 构建错误:

npm i @fortawesome/angular-fontawesome@0.5.0

关于angular - NullInjectorError : No provider for FaConfig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58990996/

相关文章:

html - 我们如何使用带有自定义控件的 ngFor formArrays?

node.js - Centos 7安装strongloop报错

html - 如何更改 Font Awesome 图标悬停颜色?

css - 在链接中使用字体超棒的堆叠图标

css - 由父主题使用 @font-face 加载本地 Font Awesome 出队

Angular 2 - 如何配置路由防护以仅允许来自特定网址的路由?

Angular 5 将 Enum int 转换为字符串

node.js - Angular 6 端口 [编号] 已在使用中。使用 '--port' 指定不同的端口

node.js - 安装 apt 后如何在 debian 上正确升级 npm

尝试运行 npm start 时出现 NPM 错误代码