SuperAPI AI 工具集

nx-run-tasks

部署与运维

查看项目

更新于 10-15 14:00

技能介绍

用途

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

主要能力

  • 运行单个任务:nx run <project>:<task>,其中 project 是 package.json 或 project.json 中定义的项目名称。
  • 运行多个任务:nx run-many -t build test lint typecheck。可通过 -p 过滤特定项目,否则在所有项目上运行;也可使用 --exclude 排除项目,使用 --parallel 控制并行进程数(默认为 3)。
  • 针对受影响项目运行任务:nx affected 只对已更改的项目以及依赖这些更改项目的项目运行任务,特别适用于 CI 和大型工作区。
  • 查看可运行的任务:可通过 nx show project <projectname> --json 查看,例如 nx show project myapp --json,其中包含 targets 部分,提供可运行目标的信息。也可以查看 package.json 脚本或 project.json targets,但可能会遗漏 Nx 插件推断出的任务。

使用方式

运行任务时需注意,如果用户没有全局安装 nx,可能需要加上 npx/pnpx/yarn 前缀。应查看 package.json 或 lockfile 来确定使用哪个包管理器。

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

运行多个任务的示例

  • 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 -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 中仅对受影响项目运行任务。

限制

资料中未提供关于该技能的其他限制说明。