我有一个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":错误