【发布时间】:2023-02-09 02:47:37
【问题描述】:
从版本更新我们的 Angular 应用程序后14.0.4版本15.1.3(之前也尝试过 15.1.2)我们在尝试访问应用程序时收到以下错误:
Uncaught Error: It looks like your application or one of its dependencies is using i18n.
Angular 9 introduced a global `$localize()` function that needs to be loaded.
Please run `ng add @angular/localize` from the Angular CLI.
(For non-CLI projects, add `import '@angular/localize/init';` to your `polyfills.ts` file.
For server-side rendering applications add the import to your `main.server.ts` file.)
所以问题是,我们在许多更新之前就已经完成了这些步骤。从描述中也可以看出,这是某事。在版本 9 中引入。但我们正在运行版本 14(及更早版本),没有任何此类问题。该应用程序编译没有错误,这是一个运行时错误。
我还尝试在版本更新后重新运行提到的命令 ng add @angular/localize,它只是将 @angular/localize 添加到 tsconfig 中的类型数组,但它仍然失败并出现相同的错误。
我按照推荐的角度更新网站 (https://update.angular.io/?l=3&v=14.0-15.0) 进行了更新,并将所有其他共同依赖项更新为最新版本(如材料、NgRx、打字稿等)
我们直接在组件中使用$localize,例如:
private readonly onLabel = $localize`:@@common_onLabel:`;
或者也以这样的共享方式:
export const i18nD = $localize`:@@components_timeDisplay_shortDaysFormat:` as 'd';
我将不胜感激我可以尝试的任何想法或步骤,因为我已经没有下一步要尝试的想法了。
【问题讨论】:
标签: angular typescript angular15