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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 05:10:23