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

相关推荐
挖掘狂人4 分钟前
同一个端口能不能被两个程序同时监听?
java·后端·程序员
codigger8 分钟前
同一个端口能不能被两个程序同时监听?
java·后端·程序员·编程
2501_9339232517 分钟前
SpringCloud:OpenFeign快速实现
java·后端·spring cloud·openfeign
miofly22 分钟前
GitHub 今日推荐|floorplan:AI 读代码自动画交互式架构地图
javascript·开源·github
拖孩29 分钟前
AI 帮我写的小程序上线 44 天:36 个人进了收银台,8 个人付钱
前端·后端·微信小程序
Rain的Java大神之路41 分钟前
我,13年Java老兵,建了个免费网站,公开叫板“Java已死”:没有广告,没有付费墙,151个页面全是踩坑干货
java·后端·程序员
萧瑟余晖44 分钟前
Spring Integration企业集成概览详解
java·后端·spring
Dovis(誓平步青云)1 小时前
拖动关键帧角色就抽动,动画编辑器怎样补齐中间状态
开发语言·前端·javascript·机器学习·编辑器
小小张说故事1 小时前
Python 的赋值为什么不会复制对象?拆开引用、浅拷贝与深拷贝
后端·python
lpfasd1231 小时前
pywebview与Electron
前端·javascript·electron