nrwl-nx - Nx.dev 究竟是什么?
问题描述
Nx究竟是什么?我正在为一个工作项目推销 Nx 设置,因为我看到了它的巨大价值,但我无法向我的同事解释什么是 Nx。他们问:如果我们将 Nx 添加到我们的 Angular 项目中,它会做什么?有人可以帮助我以简单的方式回答这个问题吗?
解决方案
正如网站所说,
“Nx 是一套用于 monorepos 的可扩展开发工具,可帮助您像 Google、Facebook 和 Microsoft 一样进行开发。”
换句话说,它是一组帮助程序,使在 monorepo 中开发应用程序和库更容易设置、维护和使用。
它提供了一种自以为是(并且 imo 设计良好)的方式来构建你的 monorepo。它带有一些漂亮的原理图,可以轻松构建新的应用程序、库、模块、组件等。
对我来说获胜的功能是
- 内置支持许多您可能想要使用的优秀库,例如用于状态管理的 NgRx、用于测试的 Jest 和 Cypress、Prettier 等。
- 原理图
- 预定义的 npm 脚本
- 轻松自动构建依赖关系图的能力(至少在您使用 Angular 时)。参见Nx 维基
- 使用 Nest.js(非常适合 Angular Universal 应用程序)在 monorepo 中拥有前端和后端代码的能力,请参阅nestjs/ng-universal
这是我在试图说服客户选择 Nrwl Nx 时提到的我个人最大的专业人士。
至于你的同事的问题“它会做什么?”
它将为您提供一套扩展的工具来构建您的应用程序和库,以及如何构建您的 monorepo 的指南。尽管如此,您和团队仍必须就您希望如何构建和组织项目的具体细节达成一致。最重要的是——坚持下去;)
推荐阅读
- javascript - Ng-Bootstrap nav (tab) not showing content of tabs whatsoever
- python - “str”对象没有属性“mime”错误?
- java - 如何修复 SessionNotCreatedException:尝试运行 Firefox 时无法创建新的远程会话?
- r - 使用 Dataframe of Coefficients 在 R 中进行测试集预测
- architecture - 设计一个向连接用户发送消息的解决方案
- python - PyQt5 - 使用鼠标右键单击可编辑的 QGraphicsTextItem 时程序崩溃
- mongodb - MongoDB 查询显示每个邮政编码的最后更新
- ios - AppleArchive 框架无法正常工作
- powerbi - 如何禁用视觉对象被选中但在鼠标悬停时显示工具提示?
- sql - 使用 order by 更新数据库