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

Angular 8中xliffmerge配置报错求助:无项目支持extract-i18n目标

解决Angular extract-i18n 目标不支持的问题

看起来你的脚本执行时遇到了Angular找不到对应项目extract-i18n目标的问题,我帮你梳理几个排查和解决的方向:

1. 先确认项目名称是否正确

Angular的项目名称是大小写敏感的,你脚本里写的IOCheck必须和angular.json中projects节点下的项目名称完全一致。打开你的angular.json,找到projects字段,检查里面的项目名是不是IOCheck——比如有可能实际项目名是小写的iocheck或者带后缀的IOCheck-app,拼写错误就会导致Angular找不到目标项目。

2. 检查项目的extract-i18n配置是否存在

即使你觉得angular.json没问题,也可以确认下对应项目的architect节点里有没有extract-i18n配置块。比如找到projects.IOCheck.architect,如果没有extract-i18n,手动添加一个基础配置:

"extract-i18n": {
  "builder": "@angular-devkit/build-angular:extract-i18n",
  "options": {
    "browserTarget": "IOCheck:build"
  }
}

这里的browserTarget要和你项目的build目标对应,比如如果你的build配置是IOCheck:build:production,就改成对应的名称。

3. 调整脚本的命令格式

有些Angular版本里,指定项目的正确方式是用--project参数,而不是直接把项目名放在ng xi18n后面。修改你的package.json脚本为:

"extract-i18n": "ng xi18n --project IOCheck --i18n-format xlf --output-path i18n --i18n-locale fr && xliffmerge"

这样更明确地告诉Angular要操作哪个项目,避免解析错误。如果是较新的Angular版本,也可以试试用完整命令ng extract-i18n代替ng xi18n(两者是别名,但新版本可能更推荐完整命令)。

4. 确认默认项目配置(多项目工作区场景)

如果你的工作区有多个项目,检查angular.json根节点的defaultProject是不是设置为IOCheck。如果没设置,Angular会不知道默认操作哪个项目,这时候要么在命令里加--project参数,要么把defaultProject改成IOCheck。

5. 单独测试命令分步排查

先单独运行ng xi18n --project IOCheck --i18n-format xlf --output-path i18n --i18n-locale fr,看是否能正常生成xlf文件。如果这一步没问题,再加上&& xliffmerge,确认是xliffmerge的问题还是前面的Angular命令的问题。

内容的提问来源于stack exchange,提问作者Philippe Corrèges

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:31:42