【问题标题】:How to make Angular 11 i18n work in NRWL NX workspace.json?如何使 Angular 11 i18n 在 NRWL NX workspace.json 中工作?
【发布时间】:2021-05-13 23:15:57
【问题描述】:

Angular 11 内置了对i18n 的支持。这在 angular.json 配置文件中配置时非常有用。 我正在做一个大型项目,其中单个 monorepo 中有多个子项目。我们正在使用 Nrwl NX workspace.json 来配置项目。 问题是workspace.json 对i18n 有不同的语法,而且它似乎与angular.json 的语法不兼容。此外,关于 i18n 的 NX 文档非常简短(几乎不存在)。

结果是目前我的应用根本没有本地化。

任何想法如何让 i18n 在 NRWL NX 中工作?

提前谢谢你。

【问题讨论】:

标签: angular internationalization nrwl-nx nrwl


【解决方案1】:

经过几次尝试,我找到了一种方法。

所以有几个步骤可以让 Angular 的 i18n 在 NRWL NX 工作区中工作。

步骤 #1) 在默认构建目标中定义多个语言环境

"targets": {
  "build": {
    "executor": "@angular-devkit/build-angular:browser",
    "options": {
        // … options not relevant to i18n removed
        "i18nMissingTranslation": "warning",
        "localize": ["fr", "en", "sp"]
    },

步骤 #2) 为每个语言环境定义命名构建目标

"configurations": {
   "production": {
     // ... some prod settings
   },
   "en": {
     "localize": ["en"]
   },
   "fr": {
     "localize": ["fr"]
   }
  },

步骤 #3) 更新服务配置以使用特定的构建目标 注意appname:build:en - 指示 nx serve 使用特定的构建目标

"serve": {
 "executor": "@angular-devkit/build-angular:dev-server",
 "options": {
   "browserTarget": "appname:build:en"
 }
}

步骤 #4) 运行 nx serve 以验证其是否正常工作

完整的文章在这里 - http://blog.davidjs.com/2021/03/working-with-angular-i18n-inside-nrwl-nx-workspace/

【讨论】:

    猜你喜欢
    • 2019-05-21
    • 2019-11-10
    • 2022-08-13
    • 2019-01-07
    • 2022-08-14
    • 2018-05-26
    • 2019-03-16
    • 2022-01-06
    • 2020-02-05
    相关资源
    最近更新 更多