SuperAPI AI 工具集

nx-run-tasks

部署与运维

查看项目

更新于 10-16 06:02

技能介绍

用途

nx-run-tasks 用于帮助在 Nx 工作区中运行任务。当用户想要执行构建、测试、lint、serve 或工作区中定义的其他任务时,可以使用该技能。

主要能力

  • 查看工作区中哪些任务可以运行。
  • 运行单个任务。
  • 一次运行多个任务。
  • 仅对受影响的项目运行任务。
  • 使用常用命令行标志控制任务执行行为。

使用方式

前置说明

如果用户没有全局安装 nx,可能需要在命令前加上 npx、pnpx 或 yarn。应查看 package.json 或 lockfile 来确定当前使用的包管理器。

要了解任何命令的更多细节,可以运行带 --help 的命令,例如 nx run-many --help、nx affected --help。

了解哪些任务可以运行

可以通过以下命令查看:

nx show project <projectname> --json

例如:

nx show project myapp --json

该命令输出包含 targets 部分,其中有可运行目标的信息。也可以直接查看 package.json 脚本或 project.json 的 targets,但可能会遗漏 Nx 插件推断出的任务。

运行单个任务

nx run <project>:<task>

其中 project 是 package.json 或 project.json(如果存在)中定义的项目名称。

运行多个任务

nx run-many -t build test lint typecheck

可以传入 -p 标志来筛选特定项目,否则会在所有项目上运行。也可以使用 --exclude 排除项目,使用 --parallel 控制并行进程数(默认是 3)。

示例:

  • nx run-many -t test -p proj1 proj2 — 测试特定项目
  • nx run-many -t test --projects=*-app --exclude=excluded-app — 测试匹配模式的项目
  • nx run-many -t test --projects=tag:api-* — 按标签测试项目

对受影响的项目运行任务

使用 nx affected 仅对已更改的项目以及依赖已更改项目的项目运行任务。这在 CI 和大型工作区中特别有用。

nx affected -t build test lint

默认情况下,它会与基础分支进行比较。可以自定义:

  • nx affected -t test --base=main --head=HEAD — 与特定的 base 和 head 比较
  • nx affected -t test --files=libs/mylib/src/index.ts — 直接指定更改的文件

常用标志

以下标志适用于 run、run-many 和 affected:

  • --skipNxCache — 即使结果已缓存也重新运行任务
  • --verbose — 打印额外信息,例如堆栈跟踪
  • --nxBail — 在第一个失败任务后停止执行
  • --configuration=<name> — 使用特定配置(例如 production)

适用场景

  • 在 Nx 工作区中执行构建、测试、lint、serve 等任务。
  • 在本地开发时运行单个或多个项目的任务。
  • 在 CI 中仅对受影响的项目运行任务,以节省时间。
  • 在大型工作区中按项目、模式或标签筛选任务。

限制

资料中未提供关于该技能的其他限制、收费、价格、平台或效果信息。