You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Angular本地化:不同subPath共用相同baseHref

Angular i18n: 用subPath控制输出目录但保留统一baseHref

问题核心

Angular i18n的baseHref字段已废弃,官方推荐使用subPath,但subPath默认会同时设置输出目录和HTML的base标签。需要实现:不同本地化版本输出到对应子目录,但所有版本共用同一个baseHref。

解决方案

通过全局配置baseHref + subPath指定输出目录的组合方式,满足需求:

  1. 修改i18n配置,移除所有baseHref字段,用subPath定义各本地化版本的输出目录:
"i18n": {
  "sourceLocale": {
    "code": "en",
    "subPath": "en"
  },
  "locales": {
    "zh-hans": {
      "translation": "src/locale/messages.zh-hans.xlf",
      "subPath": "zh-hans"
    }
  }
}
  1. 在angular.json的项目build配置中设置全局baseHref(覆盖subPath对base标签的修改):
    找到projects -> [你的项目名] -> architect -> build -> options,添加或修改:
"baseHref": "/"

或者在构建时通过命令行参数指定:

ng build --localize --base-href "/"

效果验证

  • 构建后,各本地化版本会输出到dist/en、dist/zh-hans目录;
  • 所有版本的index.html中,base标签均为<base href="/">,不会带上本地化路径段。

内容的提问来源于stack exchange,提问作者Hao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 01:04:56