十堰做网站公司,网页开发定制,Wordpress演示主题,天津做黄金的公司一、安装 NestJS
要开始构建一个基于 NestJS 的应用#xff0c;首先需要安装一系列依赖包。以下是必要的安装命令#xff1a;
npm i --save nestjs/core nestjs/common rxjs reflect-metadata nestjs/platform-express
npm install -g ts-node包名介绍nestjs/coreNestJS 框…一、安装 NestJS
要开始构建一个基于 NestJS 的应用首先需要安装一系列依赖包。以下是必要的安装命令
npm i --save nestjs/core nestjs/common rxjs reflect-metadata nestjs/platform-express
npm install -g ts-node包名介绍nestjs/coreNestJS 框架的核心模块提供构建、启动和管理 NestJS 应用程序的基础设施。nestjs/common包含构建 NestJS 应用的基础设施和常用装饰器、工具类、接口等用于定义控制器、服务、中间件、守卫、拦截器、管道、异常过滤器等。rxjs用于构建异步和事件驱动程序的库基于可观察序列的概念提供强大的功能来处理异步数据流。reflect-metadata在 JavaScript 和 TypeScript 中实现元编程的库通过提供元数据反射 API允许在运行时检查和操作对象的元数据。nestjs/platform-expressNestJS 的平台适配器用于将 NestJS 应用与 Express.js 集成提供 Express.js 的中间件、路由等功能并享受 NestJS 的模块化、依赖注入等高级特性。ts-node使 Node.js 能直接运行 TypeScript 文件无需额外编译步骤。
二、配置 TypeScript 编译选项
在项目的根目录下创建或更新 tsconfig.json 文件以配置 TypeScript 编译选项
{compilerOptions: {experimentalDecorators: true, // 启用装饰器特性target: ES2021, // 目标 JavaScript 版本moduleResolution: NodeNext, // 模块解析策略module: NodeNext // 使用的模块系统}
}三、创建应用程序入口文件 main.ts
在 src/ 目录下创建 main.ts 文件作为应用的入口点
// 导入 NestFactory 模块它用于创建 NestJS 应用程序的实例
import { NestFactory } from nestjs/core;
//导入跟模块
import { AppModule } from ./app.module;// 创建一个异步函数用于启动应用程序
async function bootstrap() {// 创建一个 NestJS 应用程序的实例const app await NestFactory.create(AppModule);// 在底层使用 Express 框架// 启动应用程序监听指定的端口await app.listen(3000);
}
bootstrap();注释此文件负责创建并启动 NestJS 应用实例。
四、定义应用模块 app.module.ts
接着在 src/ 下创建 app.module.ts 来定义应用的主要模块
import { AppController } from ./app.controller;
import { Module } from nestjs/common;Module({controllers: [AppController],
})
export class AppModule {}/*** Moudle 是一个装饰器用来定义模块它接受一个对象作为参数这个对象可以包含多个属性这些属性定义了模块的配置信息。* 模块是组织代码的基本单元它可以将相关的组件控制器、服务器、提供者组合在一起形成一个完整的系统。* Nest的模块系统是受Angular的模块系统启发而来的它提供了一种灵活的方式来组织代码使得代码更加模块化和可维护。*/注释模块是组织代码的基本单元将相关组件组合在一起构成可维护的应用结构。
五、构建控制器 app.controller.ts
最后在 src/ 下创建 app.controller.ts 以实现 HTTP 请求处理器
import { Controller, Get } from nestjs/common;Controller(a) // 设置基础路径为 /a
export class AppController {Get(b) // 结合基础路径实际访问路径为 /a/bgetHello(): string {return Hello World!;}
}/*** Controller 是一个装饰器用于定义一个控制器类该类将处理应用程序中的请求。* 控制器是处理传入 HTTP 请求的核心组件每个控制器负责处理特定的请求路径和对应的 HTTP 方法。* 在控制器的内部会使用路由装饰器如 Get()、Post()、Put()、Delete() 等来定义具体的路由和对应的处理函数。* * Get 是一个路由装饰器用于将控制器的方法 getHello 映射到 HTTP GET 请求上。* 当用户访问 /a/b 路径时将会调用 getHello 方法并返回 Hello World! 字符串。* 通过 Get 装饰器可以指定该方法处理特定路径上的 GET 请求。*/六、添加启动命令
为了让开发者能够方便地启动 NestJS 应用程序可以在 package.json文件中的scripts 部分添加一个自定义脚本用于简化启动过程。请将以下代码添加到 package.json 中
scripts: {dev: ts-node src/main.ts,// 其他脚本...
}七、启动 NestJS 服务
现在你可以通过执行以下命令来启动你的 NestJS 应用程序
npm run dev注释这将触发 package.json 中定义的 dev 脚本进而启动应用程序。
7.1访问应用
一旦服务器成功启动并且没有出现任何错误信息你就可以在浏览器中访问应用程序了。根据你在控制器中设置的基础路径/a 和路由装饰器Get(b)你应该可以通过访问下面的 URL来测试你的第一个NestJS API 端点
http://localhost:3000/a/b注释当你访问上述地址时应该会看到返回的 Hello World! 字符串这表示你的 NestJS 应用程序正在正确运行并且可以处理 HTTP 请求。
八、提示
如果遇到端口占用问题请检查是否有其他进程正在使用端口 3000或者修改 main.ts 文件中的监听端口。在开发环境中考虑使用诸如 nodemon 或 concurrently 这样的工具来自动重启服务器当源文件发生变化时这能极大地提高开发效率。例如可以安装 nodemon 并更新 package.json 的 dev 脚本如下
scripts: {dev: nodemon --exec ts-node src/main.ts
}注释这样做之后每次保存更改NestJS 应用将会自动重启从而即时反映代码的变化。