Bun 作为新兴的 JavaScript 运行时,在 2025 年发布的 1.2 版本中新增了大量企业级特性,正逐步从一个"快速的 Node.js 替代品"进化为"全栈开发一体化平台"。本文将从实际项目出发,全面评测 Bun 1.2 的核心能力。
Bun 1.2 核心特性
1. 内置 PostgreSQL 客户端:Bun 1.2 新增了原生 SQL 支持,无需安装第三方驱动,可以直接编写参数化查询。性能比 node-postgres 快 3-5 倍。
import { sql } from "bun"; const users = await sql`SELECT * FROM users WHERE age > ${18}`;2. Bun.serve() HTTP 服务器升级:支持 HTTP/2 和 WebSocket 零配置,内置压缩和 TLS。
3. 改进的 Node.js 兼容性:Bun 1.2 的 Node.js 兼容率已从 90% 提升至 97%,大部分 npm 包可以直接运行。
构建全栈应用
使用 Bun 的全栈能力,一个简单的 API 服务只需要几十行代码:
const server = Bun.serve({ port: 3000, async fetch(req) { const url = new URL(req.url); if (url.pathname === "/api/posts") { const posts = await sql`SELECT * FROM posts ORDER BY created_at DESC`; return Response.json(posts); } return new Response("Not Found", { status: 404 }); }, });与 Node.js/Deno 对比
在相同的 HTTP 服务基准测试中,Bun 1.2 的吞吐量是 Node.js 20 的 2.8 倍,是 Deno 2.0 的 1.6 倍。启动速度方面,Bun 平均在 25ms 内完成冷启动,而 Node.js 需要约 80ms。但需要注意,Bun 在 Windows 上的支持仍然落后于 macOS/Linux。
何时应该迁移到 Bun?
如果你的项目是一个新启动的全栈应用,或者对服务端性能有较高要求,Bun 1.2 是一个非常值得考虑的选择。但对于依赖大量原生 C++ 模块的大型项目,建议等待生态进一步成熟。
评论 (0)