在NX工作区中正确使用transoloco-keys-manager的方法
在NX工作区中正确使用transloco-keys-manager的方法
针对NX工作区中transloco-keys-manager无法适配配置文件结构的问题,你可以通过以下几种可靠方案解决:
1. 逐个指定项目配置文件(推荐)
NX工作区的每个app/lib都有独立的project.json,直接在命令中通过--project参数指定对应文件路径即可精准扫描:
# 扫描app1的翻译键 npx transloco-keys-manager find --project apps/app1/project.json # 扫描lib1的翻译键 npx transloco-keys-manager find --project libs/lib1/project.json
也可以在package.json的scripts中配置快捷命令,方便批量执行:
{ "scripts": { "i18n:find:app1": "transloco-keys-manager find --project apps/app1/project.json", "i18n:find:lib1": "transloco-keys-manager find --project libs/lib1/project.json", "i18n:find:all": "npm run i18n:find:app1 && npm run i18n:find:lib1" } }
之后直接运行npm run i18n:find:all就能扫描所有项目。
2. 自定义配置文件统一管理
如果需要一次性扫描多个项目,可以在根目录创建transloco.config.js配置文件,列出所有项目的路径:
module.exports = { projects: [ { projectPath: 'apps/app1/project.json' }, { projectPath: 'libs/lib1/project.json' } ] };
然后运行命令时指定该配置文件:
npx transloco-keys-manager find --config transloco.config.js
关于手动添加workspace.json的问题
你之前手动创建的workspace.json仅能扫描第一个项目,是因为transloco-keys-manager默认对workspace的多项目支持有限,只会读取第一个配置项。这种方式不如直接指定单个项目配置文件或使用自定义配置可靠。
可选:修复schematics报错(不推荐)
若一定要使用schematics命令,可先安装缺失的依赖包:
npm install --save-dev @schematics/angular
但NX与原生Angular schematics的适配可能存在其他潜在问题,因此优先推荐前两种方案。
内容的提问来源于stack exchange,提问作者mhld
相关产品推荐
相关产品推荐

