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》
《别学23种了!Java项目中最常用的6个设计模式,附案例》