name: nx-workspace description: 配置、探索和优化Nx单仓库工作区。适用于设置Nx、探索工作区结构、配置项目边界、运行任务、分析受影响项目、优化构建缓存或使用受影响命令实现CI/CD。关键词 - nx、monorepo、workspace、projects、targets、affected、build、lint、test。
Nx工作区管理
快速开始
探索工作区: nx show projects 和 nx show project <名称> --json
运行任务: nx <目标> <项目>(例如:nx build my-app)
受影响分析: nx show projects --affected 或 nx 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。