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 调用后端
相关推荐
小林ixn9 小时前
React + TypeScript 实战:从“类型体操”到“数据持久化”,一次讲透组件通信与副作用管理
前端·react.js·typescript
用户0934077735149 小时前
HarmonyOS WPS Open SDK 快速入门:HAR 装上就能打开文档吗
typescript·harmonyos
不好听6139 小时前
从困惑到理解:React 父子组件通信的三种写法
react.js·typescript
烬羽10 小时前
React 状态归属:两个版本的用户名编辑器,告诉你 state 该放哪
react.js·typescript·前端框架
breeze jiang11 小时前
React + TypeScript 编辑表单:为什么要区分 name 和 editingName
前端·typescript
gis开发之家1 天前
《Vue3 从入门到大神40篇》Vue3 源码详解(十):diff 算法全解析 —— 为什么 Vue3 比 Vue2 更快?
javascript·算法·typescript·前端框架·vue3·vue3源码
GitLqr1 天前
提升 Web 开发效率:我常用的 10 个 TypeScript 实战技巧
vue.js·react.js·typescript
勇往直前plus1 天前
Vue3(篇四)单页面应用到路由管理
javascript·typescript·前端框架·vue
勇往直前plus1 天前
Vue3(篇三) Element Plus
前端·javascript·typescript·vue
退休倒计时1 天前
【每日一题】LeetCode 207. 课程表 TypeScript
算法·leetcode·typescript