nx (nrwl/nx)
Searching Database…
这是做什么的?
Nx 是一个面向 TypeScript 和多语言代码库的 monorepo 平台。它会缓存没有改动的部分,只运行受你的修改影响的任务,还自带一套集成的 CI 方案;核心用 Rust 编写以保证性能。
它是我的代码运行其上的框架,还是围绕我仓库的工具?
是围绕你仓库的工具:一个针对你现有任务和脚本运行的 Nx CLI,外加一些可选插件把它接入你的工具链——不是你的代码要导入的框架。
怎么把它加进现有项目?
在任何 npm、pnpm 或 yarn 工作区里运行 npx nx init 即可。Nx 会识别你现有的 package.json 脚本,缓存它们的输出,只运行受影响的部分——不需要改动你现有的配置。
它实际支持哪些技术栈和语言?
原生支持 TypeScript 和 JavaScript,其他技术栈可通过可选的多语言插件支持——README 列出的受支持工具包括 Vite、Webpack、Jest、Vitest、ESLint、Gradle、Maven、.NET 和 Go。
采用它是不是要我把整个仓库重做一遍?
不用——插件是可选的,nx init 会原样接手你现有的脚本;它的理念是先简单上手,随项目成长再逐步扩展。
除了运行我现有的脚本,这些可选插件还能做什么?
它们会自动发现你仓库里的任务,为这些任务配置缓存的输入和输出,并根据你实际使用的工具来生成新代码。
核心为什么用 Rust 编写?
为了性能:README 说 Nx 用 Rust 编写以保证速度,而扩展能力保留在 TypeScript 里,这样插件能与你现有的 JavaScript 工具链集成。
实际有哪些人在用 Nx?
据 README 介绍,从初创公司到财富 500 强都在用,项目官网上还发布了成功案例。
它是一个成熟的项目吗?
是的——项目始于 2017 年,GitHub 上有大约 29k 星标,README 列出的核心团队大约有二十位维护者。
What are similar projects?
earthly, bazel, turborepo, vite-plus, ruflo, storybook, todomvc, javascript-testing-best-practices
Which topics is it in?
build, cypress, storybook, build-system, jest, angular, ci-cd, build-tool, caching, coding-agents, monorepo, vite