Production Angular 7应用程序在控制台中产生与ngx引导程序相关的运行时错误



我有一个Angular 7应用程序,它一直在愉快地使用ngx-bootstrap。现在我已经尝试在一段时间后发布该应用程序,我收到了以下错误。如果我只是在开发模式下使用该应用程序,一切都很好。我使用Visual Studio进行开发和发布,但只需使用CLI就可以复制它。显然,ng serve工作得很好,而ng serve --prod给了我下面的错误(为了清晰起见,去掉了(。这一切都与bsDaterangepicker有关。

Khronos locale error: please load locale "en" before using it
(anonymous) @ main.f09bc86ef36b4bf3b010.js:1
main.f09bc86ef36b4bf3b010.js:1 ERROR Error: Uncaught (in promise): Error: Locale "en" is not defined, please add it with "defineLocale(...)"
Error: Locale "en" is not defined, please add it with "defineLocale(...)"
at e.writeValue (main.f09bc86ef36b4bf3b010.js:1)
main.f09bc86ef36b4bf3b010.js:1 Khronos locale error: please load locale "en" before using it

我发现了一个我认为可以帮助我解决问题的SO问题,但没有奏效。

我试过对我的package.json进行一些修订,但似乎没有帮助。Angular的生产构建优化似乎搞得一团糟。就在我准备发布这个问题的时候,我尝试了ng serve --prod --optimization=false,它似乎解决了这个问题。但显然,这并不理想。这是人们希望在即将到来的Angular版本中得到解决的问题吗?

它看起来像一个bug(因此没有真正的解决方案(,并且已经在这里报告了:

https://github.com/valor-software/ngx-bootstrap/issues/4752

可能的解决方法:

  • 降级至ngx bootstrap 3.0.1
  • 通过将buildOptimizer设置为false进行编译

编辑:问题已经解决,因此解决方案只是将您的ngx引导程序更新为可用的最新版本

您使用哪个版本的ngx引导程序?如果3.1.1尝试禁用"buildOptimizer":错误

最新更新