【发布时间】:2018-10-31 15:33:41
【问题描述】:
我有一个 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
我找到了a SO question,我认为它可以帮助我解决问题,但没有奏效。
我曾尝试返回我的package.json 的一些修订版,但这似乎没有帮助。似乎 Angular 生产构建优化正在变得一团糟。就在我准备发布问题时,我尝试了ng serve --prod --optimization=false,这似乎解决了这个问题。但显然,这并不理想。这是希望在即将推出的 Angular 版本中解决的问题吗?
【问题讨论】:
-
如果对您有帮助,请查看此链接:github.com/valor-software/ngx-bootstrap/issues/4054
-
谢谢,但我已经试过了。我使用
defineLocale来实际定义缺少的en语言环境,但出现了一些非常奇怪的行为。 -
// 字符串必须小写 - 即使示例将其指定为 enGb defineLocale('engb', enGbLocale); (取自上面链接中的答案)。如果它不起作用,一个示例会很好,因为多个开发人员可以运行并识别问题。
-
好吧,如果你仔细看,错误会抱怨“en”语言环境。因此,如果我只使用“en”,我会得到一些奇怪的行为。不能正常工作。除此之外,感觉像是一个 Angular 问题,而不是
ngx-bootstrap... 我正在做一个能够重现此问题的简单项目。 -
好的,我有一个项目可以重现该问题。我怎么能分享呢?似乎 ngx-bootstrap@3.0.1 没有这个问题,但这似乎仍然是 Angular 优化问题。
标签: angular angular-cli ngx-bootstrap angular7