NX 15.6.3中run-commands的group参数默认值设置问题
解决NX多命令目标中
group参数的默认值问题 要解决组件路径出现undefined的问题,你需要在generate-atom目标的配置中为group参数设置默认值,具体有两种可行方案:
方案1:在命令中使用Shell默认值语法
修改你的packages/core/project.json文件中generate-atom目标的配置,利用Shell的参数展开语法为group设置默认值(示例默认值设为common):
{ "targets": { "generate-atom": { "executor": "@nrwl/workspace:run-commands", "options": { "commands": [ "npx nx generate @nrwl/react:component --name={args.name} --group=${args.group:-common} --project=core --directory=atoms/${args.group:-common}", "npx nx generate @nrwl/react:component-story --name={args.name} --group=${args.group:-common} --project=core" ], "parallel": false } } } }
${args.group:-common}表示如果args.group未传入,则使用common作为默认值。执行命令时,即使不传入--group参数,组件也会生成在packages/core/src/atoms/common/button路径下。
方案2:在目标选项中定义默认参数
另一种方式是直接在generate-atom目标的options里声明group的默认值,更符合NX的配置规范:
{ "targets": { "generate-atom": { "executor": "@nrwl/workspace:run-commands", "options": { "args": { "group": "common" }, "commands": [ "npx nx generate @nrwl/react:component --name={args.name} --group={args.group} --project=core --directory=atoms/{args.group}", "npx nx generate @nrwl/react:component-story --name={args.name} --group={args.group} --project=core" ], "parallel": false } } } }
这种方式下,NX会自动使用options.args.group的默认值填充未传入的参数,后续修改默认值时只需调整该字段即可。
测试验证:执行npx nx run core:generate-atom --args="--name=button",组件会生成在packages/core/src/atoms/common/button路径下;若传入--group=forms,则会生成在packages/core/src/atoms/forms/button路径下。
内容的提问来源于stack exchange,提问作者noubar hanno
相关产品推荐
相关产品推荐

