全书目录

后端市政区

第七章:JS/TS 后端 —— 市政大厅开始接待请求

2 分钟 782 字 第 7 / 962 个阅读单元

这一章里,把 JS/TS 后端看成“市政大厅”。运行时像电力和地基,框架像窗口和流程,真正面对用户请求的是这整套接待系统。

#先分清运行时和框架

text
运行时 = 城市地基和电力系统
框架 = 市政大厅的办事流程

运行时有:

  • Node.js
  • Deno
  • Bun

框架有:

  • Express
  • Fastify
  • NestJS
  • Hono
  • Koa
  • AdonisJS

#Node.js —— 超大都会主城

js
import http from 'node:http';

http.createServer((req, res) => {
  res.end('hello');
}).listen(3000);

Node.js 的优势很简单:

  • 最大兼容面
  • 最大 npm 生态
  • 最稳的默认盘

#Deno —— 安全默认的新城区

ts
Deno.serve(() => new Response('hello'));

Deno 更强调:

  • TypeScript 原生
  • Web Standards
  • 权限模型
  • 工具链内建

#Bun —— 新建高铁城

ts
Bun.serve({
  fetch() {
    return new Response('hello');
  },
});

Bun 很适合:

  • 追求极快本地反馈
  • 想把运行时、包管理、测试、打包尽量收敛

#Express —— 老牌步行街

ts
import express from 'express';

const app = express();
app.get('/', (_req, res) => res.send('hello'));
app.listen(3000);

Express 的关键字是:

  • 极简
  • 中间件
  • 灵活

但 2026 做新中大型项目时,它通常不再是首选默认值。

#Fastify —— 高效工业港

ts
import Fastify from 'fastify';

const app = Fastify();
app.get('/', async () => ({ hello: 'world' }));
await app.listen({ port: 3000 });

Fastify 很适合:

  • API 服务
  • 高吞吐
  • 长期可维护的 Node 后端

#NestJS —— 省会行政中心

ts
import { Controller, Get, Module } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';

@Controller()
class AppController {
  @Get()
  hello() {
    return 'hello';
  }
}

@Module({ controllers: [AppController] })
class AppModule {}

const app = await NestFactory.create(AppModule);
await app.listen(3000);

NestJS 的强项是:

  • 模块化
  • DI
  • 大团队规范
  • 企业项目组织能力

#Hono —— 国际机场中转城

ts
import { Hono } from 'hono';

const app = new Hono();
app.get('/', (c) => c.text('hello'));

export default app;

Hono 更像:

  • Fetch API 风格
  • 多运行时
  • Edge/BFF 接口层

#Koa —— 手工匠人街区

ts
import Koa from 'koa';

const app = new Koa();
app.use(async (ctx) => {
  ctx.body = 'hello';
});
app.listen(3000);

#AdonisJS —— 规划成熟的园区城市

ts
import router from '@adonisjs/core/services/router';

router.get('/', () => 'hello');

AdonisJS 的思路很明确:

  • MVC
  • IoC
  • 目录约定
  • 官方包齐

JS/TS 后端速查

场景 默认优先看什么
通用 API Node.js + Fastify
大团队企业项目 Node.js + NestJS
Edge / 多运行时 / BFF Hono + Deno/Bun/Cloudflare
全家桶业务系统 Node.js + AdonisJS
教学/极简原型 Express