当前位置: 首页> 科技> IT业 > 【自主搭建博客网站 第二篇章】NestJs的介绍和安装

【自主搭建博客网站 第二篇章】NestJs的介绍和安装

时间:2025/8/13 3:52:03来源:https://blog.csdn.net/weixin_38434780/article/details/142306096 浏览次数:0次

NestJS 是一个基于 TypeScript 和 Node.js 的后端框架,专为构建高效、可维护和可扩展的服务器端应用程序而设计。

一、背景与起源

  • 创立者:NestJS 由 Kamil Mysliwiec 在 2016 年创立,旨在提供一个结构化、模块化的开发环境,以弥补当时 Node.js 生态系统中缺乏的清晰架构模式。
  • 设计理念:NestJS 借鉴了 Angular 框架的设计原则,如依赖注入、模块化、组件化等,将其应用到后端开发中,使得开发者能够像构建前端应用那样构建后端服务。

二、核心特性

1、TypeScript 支持:

  • NestJS 采用 TypeScript 作为主要编程语言,利用静态类型检查、强大的代码智能感知和更好的代码质量控制,使得代码更易于维护和重构。
  • 同时,NestJS 也兼容纯 JavaScript,允许开发者在必要时使用。

2、模块化架构:

  • NestJS 使用模块化的设计,将应用程序分割成多个可重用的模块,有助于保持代码的组织结构清晰,便于团队协作,并支持快速开发和测试。

3、依赖注入:

  • NestJS 使用依赖注入容器,使得管理依赖关系和组件变得更加容易。这有助于解耦组件,并使代码更容易测试和重用。

4、内置支持:

  • NestJS 提供了内置的模块和库,用于处理常见的任务,如 HTTP 请求处理、WebSockets、WebSocket Gateways、身份验证、授权等。

5、可扩展性:

  • NestJS 提供了丰富的生态系统,包括中间件、插件、拦截器和自定义装饰器,允许开发者根据需要扩展框架的功能。

6、底层框架:

  • NestJS 构建在强大的 HTTP 服务器框架上,如 Express(默认)和 Fastify,但向开发者直接暴露了底层框架的 API,使得开发者可以自由地使用适用于底层平台的第三方模块。

三、优势与应用场景

  • 优势

    • 高效开发:NestJS 提供了丰富的工具和抽象层,帮助开发人员快速构建可扩展的、可维护的应用程序。
    • 社区和文档:NestJS 拥有活跃的社区和详细的文档,为开发者提供了丰富的学习资源和支持。
    • 灵活性与可扩展性:通过模块化架构和依赖注入,NestJS 使得应用程序的组织和拓展变得非常容易。
  • 应用场景

    • 微服务架构:NestJS 支持微服务架构,使得大型应用可以被拆分为多个小型、独立的服务,每个服务专注于单一功能,易于开发和维护。
    • RESTful API 开发:NestJS 内置了对 RESTful API 的支持,使得构建 API 变得简单而高效。
    • 实时通信:借助 WebSocket 和其他实时通信技术,NestJS 可以构建响应式和交互式的应用程序。

四、安装和访问

$ npm i -g @nestjs/cli ## 全局安装脚手架
$ nest new project-name ## 创建项目 project-name 换成你想要的英文名称
$ cd project-name ## 切换到你创建好的项目文件夹中
$ npm run start ## 启动项目## 在浏览器中输入
http://127.0.0.1:3000## 就能看到浏览器中输出的信息

五、介绍目录


src|-- app.controller.spec.ts ## 控制器的单元测试|-- app.controller.ts ## 具有单一路由的基本控制器。和java中的 controller 类似|-- app.module.ts  ## 应用的根模块|-- app.service.ts ## 具体业务实现的地方|-- main.ts ## 使用核心函数 NestFactory 创建 Nest 应用实例的应用入口文件。

六、自动生成代码的工具

在项目的根路径下执行下面的命令,可以帮你生成出简单的 增、删、改、查 的代码。

nest g resource [name]
关键字:【自主搭建博客网站 第二篇章】NestJs的介绍和安装

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: