当前位置: 首页 > article >正文

Nest教程一(准备阶段)

NestJs是什么

以下是ChatGPT给出的解答:

NestJS 是一个基于 TypeScript 的开源 Node.js 框架,它使用了现代的架构模式和设计原则来帮助开发人员构建高效、可扩展的服务器端应用程序。

NestJS 提供了一组强大的工具和库,包括依赖注入、模块化、路由、中间件、管道、过滤器、异常处理、Websockets、GraphQL 等,可以帮助开发人员轻松地构建和维护复杂的应用程序。

NestJS 的架构和语法类似于 Angular,这使得 Angular 开发人员能够更快速地上手 NestJS。此外,NestJS 还具有良好的文档和社区支持,使得开发人员能够轻松地学习和使用它来构建高质量的应用程序。

先决条件

NodeJs(版本>=14)

node -v来查看自己电脑的NodeJs版本。

npm -v来查看自己电脑npm的版本。

起步

  1. 安装NestJs的命令行界面工具Nest CLI
npm i -g @nestjs/cli
  1. 创建项目
nest new project-name

要创建启用 TypeScript strict模式的新项目,请将 --strict 标志传递给 nest new 命令

当你在控制台看到Thanks for installing Nest 🙏,说明大功告成。

  1. 项目生成后,目录中有一个src文件夹,其中主要文件如下:

    src
     ├── app.controller.spec.ts
     ├── app.controller.ts
     ├── app.module.ts
     ├── app.service.ts
     └── main.ts
    

以下是这些核心文件的简要概述:

文件名解释
app.controller.ts带有单个路由的基本控制器示例。
app.controller.spec.ts对于基本控制器的单元测试样例。
app.module.ts应用程序的根模块。
app.service.ts带有单个方法的基本服务。
main.ts应用程序入口文件。它使用 NestFactory 用来创建 Nest 应用实例。
  1. main.ts 包含一个异步函数,它负责引导我们的应用程序:
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000);
}
bootstrap();

NestFactory 核心类:用于创建一个 Nest 应用实例,NestFactory 暴露了一些静态方法用于创建应用实例。 create() 方法返回一个实现 INestApplication 接口的对象。

默认情况下,如果在创建应用程序时发生了任何错误,你的应用程序会退出并返回错误代码 1。如果你想让它抛出错误,请禁用 abortOnError 选项,例如:

const app = await NestFactory.create(AppModule, { abortOnError: false });

平台

Nest 旨在成为一个与平台无关的框架。(啥意思呢?就是说NestJs 可以与任何 node.js 的 HTTP 框架一起工作。)

NestJs内置两个NodeJs平台:express 和 fastify。

包名注释
platform-expressExpress 是一个众所周知的 node.js 简约 Web 框架。 这是一个经过实战考验,适用于生产的库,拥有大量社区资源。 默认情况下使用 @nestjs/platform-express 包。 许多用户都可以使用 Express ,并且无需采取任何操作即可启用它。
platform-fastifyFastify 是一个高性能,低开销的框架,专注于提供最高的效率和速度。 在这里阅读如何使用它。

无论使用哪种平台,它都会暴露自己的 API。 它们分别是 NestExpressApplicationNestFastifyApplication

将类型传递给 NestFactory.create() 函数时,如下例所示,app 对象将具有专用于该特定平台的函数。 但是,请注意,除非您确实要访问底层平台 API,否则无需指定类型。

const app = await NestFactory.create<NestExpressApplication>(AppModule);

运行应用程序

命令:

npm run start

当然,我们更常用的是:

npm run start:dev

因为后者相当于watch模式,可以一直监听文件的更改,自动重新编译并重新加载服务器。

浏览器访问http://localhost:3000/,你应该看到 Hello world! 信息。


http://www.kler.cn/news/11818.html

相关文章:

  • JS面试题之ajax、axios、fetch的区别
  • React 搜索时遇到的坑
  • 适配器模式:C++设计模式中的瑞士军刀
  • 确保实时操作系统(RTOS)设备中的数据安全
  • RHCE第一次作业at和cront两个任务管理程序的区别
  • [python刷题模板] 博弈入门-记忆化搜索/dp/打表
  • 基于逻辑回归构建肿瘤预测模型
  • Java面试题总结 | Java基础部分2(持续更新)
  • 《人体地图》笔记
  • 【京准小课堂】NTP网络校时服务器(时间同步系统)参数详解
  • 企业级信息系统开发讲课笔记2.3 利用MyBatis实现关联查询
  • windows下的wsl2如何进行docker数据卷挂载
  • 1.1 Docker Engine-详细介绍
  • SCADE Display(OpenGL)软件设计文档生成工具的设计考虑
  • Cad二次开发 Database类的方法和属性
  • 【数据结构】第九站:树和二叉树
  • STM-32:I2C外设总线—硬件I2C读写MPU6050
  • 在Mac上安装Appium Desktop的具体步骤
  • Linux系统中curl命令用法
  • Redis高可用
  • Android之AppWidget 开发浅析
  • 配电网电压调节及通信联系研究(Matlab代码实现)
  • 物理世界的互动之旅:Matter.js入门指南
  • 初识掌控板2.0、官方拓展板和配套编程软件mpython
  • 【设计模式】如何在业务开发中使用适配器模式?
  • Flutter成不了“顶流明星”的7大理由
  • WPF_Application
  • python输入矩阵的方法
  • 融云出海赋能会干货回顾 | 用户增长、场景玩法、安全合规实用指南
  • 资深PM赞不绝口的【9种项目管理图】