过去一天我一直在为此挠头。我在我的 Angular 应用程序中使用 Ngx-Toastr 包。以下是我认为可以帮助您理解问题的要点。
'NullInjectorError: No provider for ToastrService'
它来自 Ngx-Toastr 包它自己,它是有道理的,所以我将该服务添加到 appmodules 以及提供程序数组中的其他延迟加载的模块中。所以在此之后错误消失了。但接下来是我要说的——
import { Overlay } from 'ngx-toastr/overlay/overlay';;
这样做会出现以下错误
Module not found: Error: Can't resolve 'ngx-toastr/overlay/overlay'
import {OverlayModule} from '@angular/cdk/overlay';
我在每个模块的导入数组中添加了这个模块。什么都没有改变。
现在我不知道要导入什么以及从哪里导入。而且我也不确定我是否正确,或者我应该从哪里开始研究它。我也怀疑这个错误是来自那个包还是什么!!原因它应该在不隐式导入这些服务的情况下工作。
我运行以下命令以在生产构建之前获取错误:
ng serve --prod --optimization=false
还请提及如何调试以下错误,有时在生产构建后我们会收到这样的错误,这无疑是没有意义的:
ERROR Error: "StaticInjectorError[t -> t]: StaticInjectorError(Platform: core)[t -> t]: NullInjectorError: No provider for t!"
我希望我的解释对你有意义。感谢您的宝贵时间,并对这个冗长的问题感到抱歉。
最后仅供引用:我已经删除了节点模块并重新安装了它。
最佳答案
确保您使用的 ngx-toastr 版本与您的 angular 和 typescript 版本兼容。 https://github.com/scttcper/ngx-toastr#dependencies
ngx-toastr v13 需要 angular >= 10
关于javascript - NullInjectorError : No provider for Overlay! NgxToastr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63360638/