用途
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 中仅对受影响项目运行任务。
限制
资料中未提供关于该技能的其他限制说明。