【问题标题】:NullInjectorError: No provider for HighContrastModeDetectorNullInjectorError:没有 HighContrastModeDetector 的提供程序
【发布时间】:2019-11-25 12:11:47
【问题描述】:

我在我的项目中使用 Angular 8,使用 Node 版本 10.15.3(曾尝试使用其他版本,包括最新的 12.31.1)。这在 MAC 上运行良好,但在 Windows 上运行时它会在浏览器上停止并出现错误

NullInjectorError: "StaticInjectorError(AppModule)[MatCommonModule -> HighContrastModeDetector]: 
  StaticInjectorError(Platform: core)[MatCommonModule -> HighContrastModeDetector]: 
    NullInjectorError: No provider for HighContrastModeDetector!"

这是否与我的硬件有关(如何相关)?

【问题讨论】:

标签: angular angular8


【解决方案1】:

问题与 Node 版本无关。这是由于 Angular Material 和 Angular 版本不兼容。对于角度 8,您需要角度材料版本 8.2.3。从项目根目录运行以下命令。

npm i --save @angular/cdk@8.2.3 @angular/material@8.2.3

有关找出兼容的角度和角度材料版本的步骤,请参阅this SO post.的答案

【讨论】:

    【解决方案2】:

    在我的情况下,@angular/cdk 版本导致了错误。

    package.json 上将其从github:angular/cdk-builds 设置为^8.1.4,然后运行npm install 解决了问题

    【讨论】:

      【解决方案3】:

      在我的情况下,@angular/cli@angular/material 的不兼容版本导致了错误。

      解决它:

      尝试将节点包模块升级到package.json中的兼容版本,然后运行npm install --save命令。

      【讨论】:

        【解决方案4】:

        这发生在 StackBlitz 上,当时我有一个来自 @angular/material 的模块,但不是 import { BrowserModule } from '@angular/platform-browser';

        在这种情况下,解决方案是添加BrowserModule

        【讨论】:

          猜你喜欢
          • 2020-11-30
          • 2020-09-03
          • 2021-09-08
          • 1970-01-01
          • 1970-01-01
          • 2020-02-05
          • 2019-12-28
          • 2019-11-16
          • 2021-01-20
          相关资源
          最近更新 更多