Nx工作区管理Skill nx-workspace

这个技能用于配置、探索和优化Nx monorepo工作区,涉及项目管理、任务运行、受影响分析、构建缓存优化和CI/CD集成。关键词:Nx、monorepo、工作区管理、项目配置、任务自动化、缓存机制、CI/CD、开发流程。

DevOps 0 次安装 0 次浏览 更新于 3/15/2026

name: nx-workspace description: 配置、探索和优化Nx单仓库工作区。适用于设置Nx、探索工作区结构、配置项目边界、运行任务、分析受影响项目、优化构建缓存或使用受影响命令实现CI/CD。关键词 - nx、monorepo、workspace、projects、targets、affected、build、lint、test。

Nx工作区管理

快速开始

探索工作区: nx show projectsnx show project <名称> --json
运行任务: nx <目标> <项目>(例如:nx build my-app
受影响分析: nx show projects --affectednx affected -t <目标>

注意: 如果nx未全局安装,请在命令前添加npx/pnpx/yarn

核心命令

列出和探索项目

# 列出所有项目
nx show projects

# 按类型、模式或目标过滤
nx show projects --type app
nx show projects --projects "apps/*"
nx show projects --withTarget build

# 查找受影响项目
nx show projects --affected --base=main

获取项目信息

关键: 始终使用nx show project <名称> --json获取完整解析的配置。切勿直接读取project.json——它仅包含部分配置。

# 获取完整配置
nx show project my-app --json

# 提取目标
nx show project my-app --json | jq '.targets | keys'

配置模式:

  • 工作区: node_modules/nx/schemas/nx-schema.json
  • 项目: node_modules/nx/schemas/project-schema.json

运行任务

# 运行特定项目
nx build web --configuration=production

# 运行受影响项目
nx affected -t test --base=main

# 查看依赖图
nx graph

工作区架构

workspace/
├── apps/              # 可部署应用
├── libs/              # 共享库
│   ├── shared/        # 跨范围共享
│   └── feature/       # 特定功能
├── nx.json            # 工作区配置
└── tools/             # 自定义执行器/生成器

库类型

类型 用途 示例
feature 业务逻辑、智能组件 feature-auth
ui 表现层组件 ui-buttons
data-access API调用、状态管理 data-access-users
util 纯函数、助手 util-formatting

详细资源

配置: 参见reference/configuration.md获取:

  • nx.json模板和选项
  • project.json结构
  • 模块边界规则
  • 远程缓存设置

命令: 参见reference/commands.md获取:

  • 完整命令参考
  • 高级过滤选项
  • 常见工作流

CI/CD: 参见reference/ci-cd.md获取:

  • GitHub Actions配置
  • GitLab CI设置
  • Jenkins、Azure Pipelines、CircleCI示例
  • 流水线中的受影响命令

最佳实践: 参见reference/best-practices.md获取:

  • 该做和不该做的事项
  • 完整故障排除指南
  • 性能优化
  • 迁移指南

常见工作流

“这个工作区里有什么?”

nx show projects --type app  # 列出应用
nx show projects --type lib  # 列出库

“如何运行项目X?”

nx show project X --json | jq '.targets | keys'

“什么改变了?”

nx show projects --affected --base=main

快速故障排除

  • 目标未显示: 使用nx show project <名称> --json,而不是project.json
  • 受影响未工作: 确保git历史可用(CI中设置fetch-depth: 0
  • 缓存问题: 运行nx reset

详细故障排除,请参见reference/best-practices.md