Bun 推出内置数据库客户端与零配置前端开发
创始人
2026-01-19 19:26:15
0

作者 | Daniel Curtis

译者 | 平川

Bun (一个快速全能的 Java 运行环境)现已发布 1.3 版本。此次更新堪称迄今为止最大的一个版本,不仅实现了全栈开发能力,还推出了统一的数据库 API,并显著提升了运行时的整体性能。

Bun 1.3 引入了零配置前端开发模式,内置模块热替换功能并支持 React 快速刷新。开发人员现在可以直接通过 Bun 运行 HTML 文件,系统将自动处理 Java、CSS 及 React 的转译与打包。开发服务器通过平台专属 API(如 macOS 的 kqueue 和 Linux 的 inotify)实现文件系统监听,无需任何额外配置即可实现热重载。当生产就绪时,运行 bun build --production命令即可打包应用程序并生成优化后的输出文件。

Bun 1.3 的核心功能之一是 Bun.SQL,这是一个支持 MySQL、MariaDB、PostgreSQL 和 SQLite 的统一 API,而且完全不依赖外部组件。对于所有的数据库适配器,该 API 都提供了一致的语法,并且通过原生实现保持了高性能。下面是这种统一语法的示例:

import { sql, SQL } from "bun";

const postgres = new SQL("postgres://[localhost/mydb]( )");

const mysql = new SQL("mysql://[localhost/mydb]( )");

const sqlite = new SQL("sqlite://data.db");

const username = "test_user";

const findUser = await sql`SELECT name, role, username FROM users WHERE username = ${username}`;

本次发布还引入了一个内置的 Redis 客户端,其性能比流行的 ioredis 包高出 7.9 倍以上。它支持所有的标准 Redis 操作。集群、流和 Lua 脚本功能计划在未来版本中实现。

对于此次发布,社区的反响褒贬不一,开发者们既表现出兴奋又流露出担忧。Hacker News 上的一篇讨论帖 获得了 56 个赞,其中不乏积极评价,例如:

Bun 真是太棒了。我几乎不需要安装任何软件包,因为 Bun 内置的组件恰到好处,比如 SQL 、S3 ,现在连 Redis 也支持了。

在其他地方,Lobsters 上有评论者 对性能基准测试提出了质疑,特别是关于编译后的 Bun 应用程序能比 nginx 更快地处理文件的说法。

Reddit 上一位用户评论说,对于生产应用,他们仍然有些问题需要解决:

在开发阶段,Bun 已经百分之百就绪。但在生产环境中,我仍然会不时地遇到各种问题。

Bun 1.3 通过单体库依赖项目录扩展了包管理功能,其设计灵感源自 pnpm 的目录特性。工作区现默认采用隔离安装模式,这样可以防止包访问未声明的依赖项。新增的 bun update --interactive命令支持开发人员有选择性地更新依赖项,而 bun why命令则可以解析依赖链。安全改进包括用于漏洞检测的 Scanner API,而 Socket 正在实现官方安全扫描器集成。

从早期版本迁移时,Bun 1.3 包含若干破坏性变更。最显著的是 Bun.serve的 Type 类型已重构,尤其是对于 WebSocket 数据处理。若将 SQL 客户端作为函数而非带标签的模板字面量调用,现在会抛出错误。Bun 现在将 Type 配置中的 "module": "Preserve"作为默认值,而非自动检测(auto-detection)。要了解详细的迁移指南,请查阅 Bun 1.3 版本的发布说明。

该版本性能提升显著,Next.js 和 Elysia 等框架的 Java 内存占用减少了 10% 至 30% 。AbortSignal.timeout实现的速度提升了 40 倍,而通过 I/O 线程池优化,macOS 系统上 bun build的性能提升了 60%。Express 基准测试显示性能提升 9%,Fastify 因 node:http改进速度提升了 5.4%。

相较于 Node.js 和 Deno 等竞争对手,Bun 通过将常用功能直接打包到运行时环境中继续保持差异化优势。Node.js 需要单独安装数据库客户端、打包工具和测试套件,而 Bun 则开箱即用地提供了这些功能。

Bun 是一个基于 JavaCore 构建的开源 Java 运行时,由 Oven 开发,Jarred Sumner 及其团队维护。它旨在成为 Node.js 的直接替代方案,同时提供明显更快的性能和更好的开发体验。Bun 可以通过运行 bun upgrade 来升级,或按照 bun.sh 中的说明全新安装。

相关内容

最新资讯

金正恩罢免朝鲜内阁副总理杨胜虎... ▲金正恩出席龙城机械联合企业第一期现代化改造项目竣工典礼据新华社援引朝中社1月20日报道,朝鲜劳动党...
雪天出行紧急提醒!襄阳16条公... 正常运行的515路公交。(湖北日报全媒记者褚楠摄)湖北日报讯(记者褚楠、通讯员赵明星)1月20日,记...
七部门发文提高全民语言文化素养 本报北京1月19日电(中青报·中青网记者 樊未晨)记者今天从教育部获悉,教育部、国家语委、中央宣传部...
俞敏洪宣布聘请陈行甲,年薪15... 澎湃新闻记者 岳怀让 1月20日,新东方创始人俞敏洪在自己个人抖音号,以新东方教育科技集团名义发布了...
炒作7年多,终于要批中国使馆项... 【文/观察者网 齐倩】多家英媒1月19日披露,英国政府预计于当地时间19日或20日公布批准中国使馆新...
寒门学子读研:是“短视”自保,... 晚上八点,实验室的灯光还亮着大半,李教授看着那个空了一小时的工位,心里有些不是滋味。那是他带的研二学...
半两财经|4700美元!国际金... 进入2026年后,国际贵金属价格强势上行。年内,国际金价最大涨幅超8%;国际银价最大涨幅已超过30%...
浩物股份推进AI技术应用 核心... 2026年1月19日,浩物股份在投资者互动平台透露,公司持续推进数智赋能,并在汽车零部件业务中成功应...
特朗普继续威胁,“100%加税... 【文/观察者网 齐倩】当地时间1月19日,美国总统特朗普誓言将“100%”兑现威胁,对反对他“吞并”...
2026新北京版三年级数学(下... 2026年学生将迎来新版教材,新教材将更加重视思维和阅读!为了方便广大学生在暑假预习新学期的课本知识...