「项目实战」从0搭建NestJS后端服务(一):初始化项目+手把手整合Swagger接口文档

🚀 前言:为什么要学这个?

hello 我是elk,最近一直在研究NestJS这个框架「努力成长到全栈开发」,也根据网上资料学习了基本的使用方法,想着光使用还不行,实战才是最好的老师。

今天起我将完整记录从零搭建 Node.js 服务的过程。这个系列文章将带你一起探索 NestJs 的世界,即使你现在对 NestJs 只有基础的了解,也没关系,我们可以一边学习一边进步。现在,就让我们开启这段充满挑战与收获的旅程吧!

简介

在这个项目中,我们将基于强大的 NestJs 框架,打造一个专为 vue2-elk-admin「之前自己的写的,目前的mock数据,想着做完集成一下」 后台管理平台服务的 Node.js 应用服务。这个组合将为你的后台管理系统提供坚实的技术支撑,让你的开发工作更加高效、便捷。

🛠️ 初始化项目(注意版本差异!)

bash 复制代码
# 安装CLI
npm install -g @nestjs/cli  # 目前11,当时安装的是10

# 创建项目「推荐选择pnpm」
nest new v2-admin-server

这里有个重要提示:NestJS不同大版本存在配置差异,请根据你的CLI版本选择对应操作

📚 接口文档神器Swagger整合指南

为了让我们的接口更加直观和易于使用,我们将为项目配置 Swagger 接口文档。这将为我们提供一个友好的可视化界面,方便我们查看和测试接口。

为什么需要Swagger?

  • 自动生成可视化API文档
  • 支持在线接口测试
  • 方便前后端协作对接
  • 自动同步接口参数变更

安装插件

安装注意版本兼容

perl 复制代码
# v11执行这个
pnpm install  @nestjs/swagger swagger-ui-express
​
# v10执行这个
pnpm install  @nestjs/swagger@8.1.1 swagger-ui-express@4.6.3

注册插件

  • main.ts
javascript 复制代码
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
​
// 引入swagger配置
import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';
​
async function bootstrap() {
  const app = await NestFactory.create(AppModule);
​
  // swagger注册配置
  const options = new DocumentBuilder()
    .setTitle('vue2-elk-admin-后端服务')
    .setDescription('vue2-elk-admin-后端服务接口文档')
    .setVersion('1.0')
    .addTag('Nestjs Swagger')
    .build();
​
  const document = SwaggerModule.createDocument(app, options);
  SwaggerModule.setup('api-docs', app, document);
  await app.listen(3000);
}
bootstrap();

激活文档

bash 复制代码
pnpm run start:dev

访问 http://localhost:3000/api-docs 查看文档

📍 下期预告

《从0搭建NestJS后端服务(二):数据库选型与Prisma整合》

我们将探讨:

  • 🔑 MySQL vs PostgreSQL选型对比
  • 🧩 Prisma的配置技巧
  • 🛡️ 数据库敏感信息加密方案

🤝 互动时间

刚接触NestJS的小伙伴 ,在配置过程中遇到了什么问题?
有经验的大佬 ,你们项目中是怎么管理接口文档的?

欢迎在评论区分享你的实战经验!

相关推荐
狼爷2 小时前
硅谷爆火的FDE是AI新风口,还是高级外包?
后端·全栈
星辰徐哥4 小时前
本地视频预览别只自己看:把Remotion动效项目发给客户远程验收
docker·ai·node.js·html·音视频·react·remotion
ID34610744207 小时前
【课程设计】基于Spring Boot+Vue的校园共享无人机服务系统设计与实现-计算机毕设 附源码44219
javascript·vue.js·spring boot·python·node.js·php·课程设计
敲敲敲敲暴你脑袋14 小时前
地图瓦片批量改色来啦!
node.js·gis·数据可视化
狂师14 小时前
最近火爆出圈的,FDE 到底是个什么岗位?
人工智能·程序员·全栈
太子釢1 天前
AI 开发个人记账 App(服务端篇)
node.js·ai编程
用户64340495148511 天前
Elpis 项目构建工具与前端基建实践总结
node.js
FungLeo2 天前
成为全栈·Node 后端篇·后端测试策略:单元、集成与测试数据库
单元测试·node.js·集成测试·测试策略·成为全栈·测试数据库
FungLeo2 天前
成为全栈·Node 后端篇·评论内容安全:敏感词过滤、三态审核与级联删除
node.js·敏感词过滤·成为全栈·评论内容安全·评论审核·级联删除
FungLeo2 天前
成为全栈·Node 后端篇·阅读量防刷:去重、冷却与计数写分离
node.js·读写分离·数据去重·接口防刷·成为全栈·数据冷却