为什么现代 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个真实场景让你代码更优雅》

相关推荐
TeDi TIVE21 小时前
springboot和springframework版本依赖关系
java·spring boot·后端
雨辰AI21 小时前
SpringBoot3 + 人大金仓 V9 微服务监控实战|Prometheus+Grafana+SkyWalking 全链路监控
数据库·后端·微服务·grafana·prometheus·skywalking
Nicander21 小时前
理解 mybatis 源码:vibe-coding一个mini-mybatis
后端·mybatis
小呆呆6661 天前
Codex 穷鬼大救星
前端·人工智能·后端
FelixBitSoul1 天前
缓存淘汰策略全解:从原理到手写实现(Java / Go / Python)
后端·面试
用户617517157011 天前
关于普通函数和箭头函数的this
javascript
AI人工智能+电脑小能手1 天前
【大白话说Java面试题】【Java基础篇】第29题:静态代理和动态代理的区别是什么
java·开发语言·后端·面试·代理模式
RPGMZ1 天前
RPGMakerMZ 地图存档点制作 标题继续游戏直接读取存档
开发语言·javascript·游戏·游戏引擎·rpgmz·rpgmakermz
有一个好名字1 天前
Agent Loop —— 一切从那个 while 循环开始
前端·javascript·chrome
EF@蛐蛐堂1 天前
【js】浏览器滚动条优化组件OverlayScrollbars
开发语言·javascript·ecmascript