首页 > 解决方案 > i18n Angular,创建翻译文件时出错

问题描述

在我的应用程序中一切正常,我可以执行每个组件或功能而不会出现任何错误,因此在终端中,就像在浏览器的开发者控制台中一样。我尝试通过以下命令安装 i18n 国际化:

ng xi18n --output-path src/locale

该文件正确创建了自己,但我看到了这个奇怪的错误。

Cannot assign to read only property '_showWarnings' of object '#<Object>'
TypeError: Cannot assign to read only property '_showWarnings' of object '#<Object>'
    at TapSubscriber._visitJsonRecursive.pipe.operators_1.tap.x [as _tapNext] (C:\Users\myname\Documents\Projekt\myProjekt\node_modules\@angular-devkit\core\src\json\schema\visitor.js:56:210)

为什么?我该如何解决?

标签: angularinternationalizationangular-i18n

解决方案


这也发生在我身上。在我升级了数据包之后angular-devkit/build-angular。在版本0.803.2上它工作得很好。由于npm audit警告我有关漏洞,我将此数据包更新为 version 0.803.23。这会导致您所描述的错误。

我还没有找到合适的解决方案,但现在以下解决方法可以完成这项工作:

删除您的node_modules文件夹,降级数据包,运行npm install,运行并一次又一次ng xi18n --output-path src/locale地删除更改。npm-shrinkwrap.jsonpackage.json

编辑

将所有 @angular 相关包更新到最新的 8.x 版本为我解决了这个问题。


推荐阅读