防止 Angular 使用 langcode 更新 base href

Gum*_*zak 7 angular-i18n angular

我有角度 v9 的问题。我已经在我的应用程序中实现了 i18n 本地化功能。当我尝试在某个位置构建我的应用程序时,它会不断将子文件夹添加到基本 href 路径(但我想将文件保留在子文件夹中)。有什么方法可以防止将语言环境添加到基本 href url 中?

繁殖步骤:

  1. 生成虚拟项目ng new Project
  2. 构建生产配置ng build --prod --localize
  3. 文件内置于dist/en-us/文件夹中,但index.html具有<base href="/en-US/">.

有没有办法强制 angular 停止将 langcode 添加到 base href 中? 这会导致所有应用程序链接都包含不需要的语言代码。

我的部署配置为将基于目录的应用程序部署到不同的位置,每个位置都在 root 中。

  • hxxp://app.fr//fr/文件夹中的根目录
  • hxxp://app.de//de/文件夹中的根目录

小智 23

我遇到了同样的问题,并在此问题中找到了解决方案:

https://github.com/angular/angular-cli/issues/17260

你必须为每个语言环境和你的 sourceLocale 编写 baseHref

"i18n": {
    "sourceLocale": {
        "code": "en",
        "baseHref": ""
    },
    "locales": {
        "fr": {
            "baseHref": "",
            "translation": "src/locale/messagesfr.xlf"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)