深入学习 NestJS

深入学习 NestJS,掌握使用 TypeORM、Mongoose、PostgreSQL、MongoDB 构建后端 API,以及测试、部署等更多技能!

你将会学到的

  • 掌握 NestJS 应用程序的所有架构。熟悉 NestJS 框架及其所有组件。
  • 使用 JSON Web Tokens 和 Google 认证进行用户身份验证。包括刷新令牌和安全最佳实践。
  • 将生产应用部署到 AWS 云,使用 CloudFront 和 S3 存储媒体文件。
  • 深入了解 NestJS 依赖注入,并理解其背后的运作机制。
  • 使用 TypeORM 和 PostgreSQL。深入研究数据库关系、事务、迁移和使用 TypeORM 进行查询。
  • 使用 NestJS 中的管道验证请求数据,并使用拦截器序列化响应数据。
  • 深入研究 NestJS 守卫,以过滤请求,并使用自定义装饰器添加元数据,修改请求负载。
  • 详细且深入地介绍 NestJS 应用程序中的环境和配置,包括环境变量的验证。
  • 使用 Open API 规范和 Swagger 记录 REST API 端点。
  • 使用 Compodoc 记录代码,保持代码库的组织性,适合大型团队。
  • 通过编写单元测试和端到端测试,利用 NestJS 进行测试。
  • 使用 MongoDB 和 Mongoose 创建数据模式,并使用 NestJS 在 MongoDB 中保存数据。
  • 学习如何使用 NestJS 上传文件,并将媒体文件保存在 Amazon S3 上,通过 CloudFront CDN 提供服务。
  • 理解 NestJS 请求和响应的完整生命周期,以及每个架构的作用。
  • 学习如何根据行业标准和最佳实践设计和开发 REST API。

要求

具备 TypeScript 和/或 JavaScript 的基础理解。

说明

NestJS 是一款用于构建高效、可靠、可扩展的服务器端应用程序的 Node.js 框架。它的结构具有鲜明的特色,深受 Angular 的影响。NestJS 已经赢得了广泛的认可,每周在 NPM 上的下载量超过 300 万次。

在我学习 NestJS 的过程中,我发现学习曲线相当陡峭。我希望当时有一门详细且结构合理的课程,能够简化我的学习路径。这就是我创建这门课程的原因:为了让其他正在尝试学习 NestJS 的开发者不必经历如此陡峭的学习曲线。

我可以向你保证,“NestJS 大师班”是市场上最详细、最全面、结构最优、深度最深的课程——没有之一!我可以肯定地说,没有其他课程能像 NestJS 大师班一样全面。

NestJS 大师班是一门实践课程!我们一起构建了一个博客的 REST API 服务器端应用程序。我们在编码这个应用程序的过程中学习,因此课程中的所有示例都是基于现实世界的使用案例。在编程这个应用程序的同时,我们将学习 NestJS 的各种特性,并深入探究 NestJS 的内部机制。

精心设计和结构合理的课程大纲

在设计 NestJS 大师班的课程大纲时,我花费了大量的时间和精力,确保它能让我的学生们轻松学习 NestJS。以下是在 NestJS 大师班中涵盖的部分主题,以及你从每个部分可以期待学到的内容。请参阅课程大纲部分,以获取所有涵盖主题的详细列表。

  • 理解模块:我将向你介绍 NestJS 模块,它们的工作原理,以及它们之间如何链接的内部机制,以及与模块一起使用的各种架构,包括服务和提供者。
  • 验证和管道:这是一个关键部分,解释了如何利用像 class validator 和 Pipes 这样的包在 NestJS 中验证传入你应用程序的数据。
  • 依赖注入:依赖注入是 NestJS 框架的基石。我们将深入探讨它是如何工作的,以及如何利用它确保你的应用程序保持模块化。我们将处理所有可能的依赖关系,包括模块之间的循环依赖。
  • 代码文档化:我们学习 NestJS 的特性,这些特性让你能够使用 Open API Specification 记录 API 端点,以及使用 Compodoc 记录应用程序的源代码。
  • TypeORM 和关系型数据库:TypeORM 与 NestJS 紧密集成。我们将在构建的 REST API 应用程序中使用 PostgreSQL,并学习如何在构建现实世界应用程序时充分利用 TypeORM 的所有功能。
  • 数据库关系:这部分教你了解 SQL 数据库中的关系,以及如何使用 TypeORM 设置它们。这包括一对一、一对多和多对多关系。这是一个详细且设计精良的部分,消除了关于数据库连接的所有误解。
  • NestJS 中的配置环境:应用程序通常在不同的环境中运行。根据环境的不同,应使用不同的配置设置。NestJS 有一个设计良好的系统来管理配置。
  • 异常处理:优雅地处理应用程序内的异常至关重要,因为它能改善开发人员和应用程序用户的体验。我们探讨 NestJS 提供的帮助我们在应用程序中处理异常的特性。
  • 数据库事务:当你想同时影响多个实体并存在相互依赖关系时,数据库事务很重要。我们深入研究 TypeORM 事务,看看它们如何与 NestJS 结合使用。
  • 使用 JSON Web Tokens 的用户身份验证:我们致力于构建一个使用 JWT 的身份验证系统,并学习安全且设计良好的系统的内部机制。
  • 守卫和装饰器:守卫和装饰器是 NestJS 提供的几个重要架构之一。我们使用守卫来过滤掉未经授权的请求,并使用装饰器来设置元数据和附加负载到传入的请求。
  • Google 认证:现代应用程序通常是相互关联的,通常提供使用像 Google OAuth 这样的服务轻松注册的流程。我们使用 Google 认证以及我们为 NestJS 应用程序创建的 JWT 身份验证服务。
  • 文件上传:大多数应用程序都需要一个文件上传机制,供用户上传文件到服务器并在以后使用。我们学习 NestJS 拦截器,以及如何使用它们上传文件到 NestJS。
  • 单元测试和端到端测试:NestJS 是为保持你编写的代码模块化而开发的,以便你能快速测试它。为了践行这一做法,我为这门课程创建了专门的 NestJS 单元测试和端到端测试模块。
  • Mongoose 和 MongoDB:很多时候,你需要在 NestJS 应用程序中使用像 MongoDB 这样的 NoSQL 数据库。在这部分,我们正是这样做的。无论你想使用哪种数据库,NestJS 大师班都是完美的选择。
  • 部署到 AWS:我们探讨将生产应用程序部署到 AWS 的所有内在细节。我们还探讨使用 CloudFront CDN 和 S3 存储桶上传和为我们的应用程序提供媒体文件。

还有更多…

我是谁?

让我简单介绍一下自己,我是 Manik,一名全栈开发者,从事这个职业已经有十五年了。

为什么我选择教授 NestJS?

NestJS 是一个强大的框架,对我来说意义重大。过去四年里,我一直致力于此。我开发和维护了一个使用 NestJS 的应用程序,每天的访问量超过一百万次。由于缺乏教程,我在学习 NestJS 时遇到了困难,因此我决定制作这门课程,以便我能传授我多年与 NestJS 共事中学到的知识。

此课程面向哪些人:

  • 需要强大框架进行后端开发的 Node 或 JavaScript 开发者。
  • 希望转向后端开发的 TypeScript 开发者。
  • 想要学习如何构建高性能后端 REST API 的 Node 开发者。
  • 寻找适用于 Node JS 后端开发框架的大型团队。
  • 希望学习如何使用 NestJS 与 TypeORM 以及 Mongoose 分别配合 PostgreSQL 和 MongoDB 的开发者。
  • 任何想要学习 NestJS 框架并需要深入了解该框架的人。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。