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

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]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值