为什么现代 Node 后端都选 NestJS + TypeScript?这组合真香了

01 前言

上个月,我表弟他们公司的 Express 项目越来越乱,改个字段全爆红,三个月没敢上线。

于是连夜试了 NestJS + TypeScript。

两周后,老板笑了:"早用早下班,你们怎么不早点干?"

02 到底好在哪?

1. 目录一眼看懂

Express:

css 复制代码
routes/
  user.js
  order.js
  ...

看得想睡觉。

NestJS:

css 复制代码
src/
  user/
    user.controller.ts
    user.service.ts
    user.entity.ts
  order/
    ...

看起来更规整。

2. 类型写得爽,改得也爽

以前:

js 复制代码
function createUser(data) {
  // 根本不知道 data 里有没有 email
}

现在:

ts 复制代码
interface CreateUserDto {
  email: string;
  age?: number;
}

写错会出红线,编译不过直接报错。

3. 装饰器

路由、校验、权限,一行搞定:

ts 复制代码
@Post()
@UseGuards(AuthGuard)
create(@Body() dto: CreateUserDto) {
  return this.userService.create(dto);
}

再也不用写一堆if (!dto.email)

03 完整小案例

简单搭建一个项目,这里我用的是pnpm

1. 起项目

bash 复制代码
pnpm i -g @nestjs/cli
nest new todo-app
cd todo-app

如图:

直接启动

bash 复制代码
pnpm run start

启动成功后打开地址http://localhost:3000/

非常简单!用编辑器打开可以看到,我们的项目结构是如此的清晰

2. 生成模块

该命令可以生成对应的模块代码

bash 复制代码
nest g res todo

REST API,回车到底就可以。

接下来要写什么业务,就可以直接开干了!

完事儿!10 分钟,后端接口搞定。

感兴趣的朋友可以看看NestJS中午官方文档

下期更新数据库连接和增删改查等相关功能,请道友点个赞吧,你的点赞是我最大的鼓励!

我是大华,专注分享前后端开发的实战笔记。关注我,少走弯路,一起进步!

📌往期精彩

《Elasticsearch 太重?来看看这个轻量级的替代品 Manticore Search》

《别再if套if了!Java中return的9种优雅写法》

《别学23种了!Java项目中最常用的6个设计模式,附案例》

《写给小公司前端的 UI 规范:别让页面丑得自己都看不下去》

《Vue3+TS设计模式:5个真实场景让你代码更优雅》

相关推荐
零千叶1 天前
Spring / Spring Boot 常用注解
java·spring boot·后端
用户6120414922131 天前
支持eclipse+idea+mysql5和8的javaweb学生信息管理系统
java·javascript·后端
我不是混子1 天前
说说建造者模式
java·后端
用户4099322502121 天前
PostgreSQL UPDATE语句怎么玩?从改邮箱到批量更新的避坑技巧你都会吗?
后端·ai编程·trae
我是谁的程序员1 天前
前端调试工具有哪些?常用前端调试工具推荐、前端调试工具对比
后端
一直_在路上1 天前
Go语言架构实践:构建临床ePRO高性能内存数据网格,应对海量并发挑战
后端
早八睡不醒午觉睡不够的程序猿1 天前
Vue DevTools 调试提示
前端·javascript·vue.js
天天向上10241 天前
vue el-form 自定义校验, 校验用户名调接口查重
前端·javascript·vue.js
浪潮行舟1 天前
WebGIS:在 Vue 2 项目中使用 Mapbox 时,如果需要加载的 GIS 数据量过大,怎么让接口一次性获取的geojson数据分批加载
前端·javascript·vue.js
SimonKing1 天前
🐔老乡鸡把菜谱在GitHub开源了,还说要给程序员发会员卡
java·后端·程序员