这一天来我一直在挠头。我在我的角度应用程序中使用Ngx-Toastr软件包。以下是我认为可以帮助您理解问题的要点。
在开发服务器(ng服务)中,我没有遇到任何错误,没有Nullinjector问题,然后我使用以下命令进行了生产构建(ng build)。到目前为止,一切正常。现在,我需要优化捆绑包的大小,以便运行该文件(ng build --prod)。构建成功,没有错误现在是时候提供代码了(我正在使用Node服务器来实现)。问题开始了-
首先是要
“ NullInjectorError:没有ToastrService的提供程序”
本身来自Ngx-Toastr软件包,这很有意义,因此我将该服务添加到了appmodules以及providers数组中的其他Lazy加载模块中。因此,此错误已消失。但是接下来是我想谈的-
从'ngx-toastr / overlay / overlay'导入{覆盖};
这样做得到了以下错误
未找到模块:错误:无法解析'ngx-toastr / overlay / overlay'
从'@ angular / cdk / overlay'导入{OverlayModule};
我在每个模块的imports数组中添加了此模块。什么都没改变。
现在我不知道要导入什么以及在哪里导入。而且我也不知道我是对还是错,或者应该从哪里开始研究。我也怀疑这个错误是来自那个软件包或什么!原因它应该在不隐式导入那些服务的情况下工作。
我运行以下命令以在生产构建之前获取错误:
ng serve --prod --optimization = false
也请提及如何调试以下错误,在生产构建后的某个时候,我们会收到像这样的错误,这毫无疑问毫无道理:
错误错误:“ StaticInjectorError [t-> t]: StaticInjectorError(平台:核心)[t-> t]: NullInjectorError:没有t的提供者!”
我希望我的解释对您有意义。感谢您的宝贵时间,对于这个冗长的问题,我们深表歉意。
最后,仅供参考:我已经删除了节点模块并重新安装。
答案 0 :(得分:1)
确保您使用的ngx-toastr版本与您的angular和Typescript版本兼容。 https://github.com/scttcper/ngx-toastr#dependencies
ngx-toastr v13要求角度> = 10