Bun 入门:Bun.serve 零依赖启动 HTTP 服务

一、Bun 的 HTTP 服务器是内置的

用 Node.js 写一个 HTTP 接口,至少要装 express 或 http 模块。用 Bun,什么都不用装------Bun.serve 是运行时自带的 API。

typescript 复制代码
const server = Bun.serve({
    port: 8080,
    fetch(req) {
        const url = new URL(req.url);
        if (url.pathname === '/todos' && req.method === 'GET') {
            return Response.json(todos);
        }
        return new Response('Not Found', { status: 404 });
    }
});

console.log(`Server running on http://localhost:${server.port}`);

这段代码不需要 import 任何外部包。Bun.serveRequestResponse 都是 Web 标准 API。


二、TypeScript 零配置

Bun 内置 TypeScript 转译器,不需要 tsc、ts-node、tsconfig.json:

bash 复制代码
bun run server.ts

直接运行 .ts 文件。启动速度远快于 ts-node,因为 Bun 的转译器用 Zig 实现,没有冷启动延迟。


三、路由手动处理

Bun.serve 没有内置路由------路由需要自己解析:

typescript 复制代码
fetch(req) {
    const url = new URL(req.url);
    const id = url.pathname.match(/^\/todos\/(\d+)$/)?.[1];
    if (id) {
        const todo = todos.find(t => t.id === parseInt(id));
        return Response.json(todo);
    }
}

对于小项目,手动路由比上框架更透明。等路由多了再用 Elysia 或 Hono。


四、和 Node.js 对比

Node.js + Express 需要 npm install express + ts-node。Bun 零依赖,内置 TypeScript 支持,API 遵循 Web 标准。HTTP 吞吐量约为 Node.js 的 3-5 倍。


五、总结

  1. Bun.serve 零依赖启动 HTTP 服务,API 遵循 Web 标准
  2. TypeScript 开箱即用,无需配置
  3. 路由需手动解析,小项目够用
  4. 前端也可以用同样的 fetch API 调用后端
相关推荐
想你依然心痛9 小时前
AtomCode 在前端开发中的实战体验:React + TypeScript 项目开发实录
前端·react.js·typescript
疯狂的魔鬼9 小时前
精确计算容器剩余视口高度:useAutoContainerFullHeight 的工程实践
前端·css·typescript
后台开发者Ethan10 小时前
类型与变量
开发语言·typescript
孤狼warrior10 小时前
从冒泡到传送带流水线:一个3D沉浸式算法靶场,让思想的伟力改变世界
python·算法·typescript
优雅格子衫1 天前
TypeScript 类的基本使用小结
javascript·ubuntu·typescript
吃西瓜不吐籽_1 天前
2026 届前端校招冲刺:2 万字高频面试题库(含详解、追问与评分标准)
前端·javascript·css·typescript·前端框架·es6
ch_09181 天前
从0构建SDK第4节:实现 ReflectionAgent 的自我反思循环
typescript·agent·ai编程
飞天狗1 天前
TypeScript类型系统其实是个图灵完备的语言
面试·typescript
开发者联盟league1 天前
Eclipse LSP4E 配置 JavaScript / TypeScript 支持
javascript·typescript·eclipse·lsp·lsp4e
天平2 天前
油猴脚本创建webworker踩坑记录
前端·javascript·typescript