一个用 Go 编写的跨平台任务运行工具,受 Make 启发,通过 YAML 格式的 Taskfile 进行配置。
- Star
- 29,416
- Fork
- 2,961
- 未关闭 Issue
- 454
- 最近提交
- 60分钟前
这是什么?
Nx 是一个面向 TypeScript 及多语言代码库的 Monorepo 构建系统。它会缓存未变更任务的输出,只运行受某次改动影响的项目,并可将任务分发到多台机器上执行。在现有的 npm、pnpm 或 Yarn 工作区中运行 npx nx init 即可接入,它会直接读取已有的 package.json 脚本,无需修改原有配置。
Nx 通过插件系统自动发现任务,并根据所用工具链配置缓存的输入和输出。项目列出的支持范围包括 Vite、Webpack、Jest、Vitest、ESLint、Gradle、Maven、.NET 和 Go。CI 集成可对接 GitHub Actions、GitLab、Azure 等平台,实现远程缓存、仅运行受影响部分以及 e2e 测试自动拆分。
Nx 核心使用 Rust 编写,并支持用 TypeScript 扩展。其 CLI 也针对 AI 智能体做了优化。可选的 Nx Cloud 服务提供自愈式 CI 功能,由智能体检测失败并提出经过验证的修复方案。
核心功能
- 01缓存任务输出,只重新运行受改动影响的部分。
- 02可直接接入现有的 npm、pnpm 或 Yarn 工作区,无需重构。
- 03插件自动发现 Vite、Webpack、Jest、ESLint 等工具的任务。
- 04与 GitHub Actions、GitLab、Azure 等 CI 平台集成,支持远程缓存和任务分发。
- 05支持 Gradle、Maven、.NET、Go 等多语言项目。
- 06提供为 AI 智能体优化的 CLI。
适用场景
- 加速包含大量相互依赖包的大型 TypeScript Monorepo 的构建与测试。
- 在 CI 中为每个 Pull Request 只运行受影响的测试和构建。
- 统一管理包含 Java、.NET 或 Go 的多语言代码库的构建任务。
- 为已有的 npm、pnpm 或 Yarn 工作区增加缓存和仅运行受影响任务的能力。
快速上手
- 1
在现有的 npm、pnpm 或 yarn 工作区中运行初始化命令
npx nx init - 2
访问 Nx 快速入门文档获取完整安装步骤
使用前须知
- 完整安装步骤位于外部快速入门网站,而非 README 本身。
收录于专题
标签
常见问题
- nx 是什么?
- 面向 TypeScript 与多语言代码库的 Monorepo 构建平台,缓存未变更的任务并只运行受影响的部分。 Nx 是一个面向 TypeScript 及多语言代码库的 Monorepo 构建系统。它会缓存未变更任务的输出,只运行受某次改动影响的项目,并可将任务分发到多台机器上执行。在现有的 npm、pnpm 或 Yarn 工作区中运行 npx nx init 即可接入,它会直接读取已有的 package.json 脚本,无需修改原有配置。
- nx 可以免费使用吗?用的什么许可证?
- nx 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- nx 还在维护吗?
- 活跃维护中。nx 最近一次提交是在 2026年10月22日。
- nx 适合用来做什么?
- 加速包含大量相互依赖包的大型 TypeScript Monorepo 的构建与测试。 在 CI 中为每个 Pull Request 只运行受影响的测试和构建。 统一管理包含 Java、.NET 或 Go 的多语言代码库的构建任务。 为已有的 npm、pnpm 或 Yarn 工作区增加缓存和仅运行受影响任务的能力。
- nx 怎么安装和运行?
- 在现有的 npm、pnpm 或 yarn 工作区中运行初始化命令: npx nx init 访问 Nx 快速入门文档获取完整安装步骤
- 在哪里获取 nx?
- 源代码和安装说明在 GitHub 上:https://github.com/nrwl/nx
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
可编程的自动化引擎,基于容器构建、测试和发布代码,可在本地、CI 或云端运行。
一款浏览器里的 3D 体素世界编辑器,用于搭建、雕刻、飞行浏览和分享小型世界。
用于编译、部署、测试和调试以太坊智能合约与去中心化应用的开发环境。
一个零配置的 Web 构建工具,无需配置文件即可打包 HTML、CSS、JavaScript 和各类静态资源。
一款速度极快的 JavaScript、TypeScript、JSX 和 CSS 打包工具,提供 CLI、JS 和 Go 接口。