关于 NestJS
NestJS 是面向服务端 TypeScript 应用的框架,以模块、装饰器和依赖注入组织代码。通过适配器,同一应用可按一致的模式提供 HTTP API、GraphQL、WebSocket 与消息服务。
小型服务从 Node.js 和包管理器开始。使用 TypeORM 或 Prisma 的项目会接入数据库;只有配置了缓存、任务或微服务传输时,才需要 Redis、BullMQ 或 RabbitMQ。
核心能力
- 模块
- 依赖注入
- Guards 与 Interceptors
- REST 与 GraphQL
- WebSocket
- 微服务
常见使用场景
- REST 与 GraphQL 后端
- BFF 服务
- 队列消费者与定时任务
- WebSocket 网关
- 微服务 API
NestJS 工作区取决于所选传输方式
开发服务器只是持久化数据或异步通信服务的一部分。
- Node.js 与包管理器
- 运行 nest CLI、TypeScript 编译和 watch 模式服务。
- 数据库与 ORM
- 服务使用 Prisma 或 TypeORM 的实体和迁移时,通常需要 PostgreSQL 或 MySQL。
- 任务或消息传输
- 使用 BullMQ 时运行 Redis,配置消息模式时运行 RabbitMQ;两者都不是 NestJS 的必需依赖。
- API 来源
- 浏览器客户端、Cookie、OAuth 回调或回调地址需要稳定来源时,才使用本地 HTTPS 代理。
FlyEnv 如何提供帮助
匹配项目运行时
为 NestJS 选择项目所需的运行时版本。
管理本地服务
仅在项目需要时启动数据库、缓存和其他服务。
保持项目隔离
让不同项目使用各自的版本和服务配置。
配置本地域名
需要时可通过本地域名和 HTTPS 访问项目。
配置本地环境
项目安装请遵循上游官方文档;FlyEnv 负责管理其所需的运行时、数据库、Web 服务器和辅助服务。
- 1按照 NestJS 官方文档安装项目和依赖。
- 2在 FlyEnv 中选择项目需要的运行时版本。
- 3启动项目配置中指定的数据库服务。
- 4仅在项目需要时启动缓存、搜索或其他辅助服务。
- 5按需配置本地 Web 服务器、域名和 HTTPS。
- 6将相关服务加入启动组,方便重复启动。
准备好本地运行 NestJS 吗?
使用 FlyEnv 管理本地 NestJS 环境所需的运行时、数据库、Web 服务器和服务。