Rust版Bun1.4之前, 盘点Bun1.3新特性

发布时间:2026/6/30 17:05:13

Rust版Bun1.4之前, 盘点Bun1.3新特性 40岁了最近再学bun和ai。Bun 1.3.14 上个月发了。这是 1.3 系列的收官版。1.3 这个版本线从发布到现在。我看完 changelog。就一个感受。Bun 设计的API是真优雅 真简单。今天就掰开讲讲。一、SQL 客户端内置以前连数据库。得装 mysql2 或 pg。还得自己写连接池。代码又臭又长。import{MySQLClient}frombun;const dbnew MySQLClient({host:127.0.0.1, port:3306, user:root, password:123456, database:shop,});constusersawait db.query(SELECT id, name FROM users LIMIT 10);console.log(users);Bun 1.3 自带 MySQL 客户端。零依赖。直接 import 就能用。Prepared statement 也支持。防 SQL 注入。也省心了。AI 写代码也省事。不用纠结选 mysql2 还是 pg。直接用 Bun 自带的就行。二、Redis 客户端内置缓存谁家不用。以前 ioredis 是标配。代码一堆 callback。看着就头疼。import{redis}frombun;await redis.set(order:1001,已支付);const statusawait redis.get(order:1001);console.log(status);Bun 把 Redis 客户端也内置了。API 简单。直连服务端。Pipelining 也支持。性能比 ioredis 还快一点。不信你压测看看。三、S3 文件操作上传文件老写 SDK。minio-js、aws-sdk。代码又长又难懂。import{s3}frombun;const fs3.file(images/avatar.png);await f.write(Bun.file(./avatar.png));const bufawait f.arrayBuffer();console.log(buf.byteLength);Bun 1.3 把 S3 也整进来了。文件对象语义。跟本地 fs 一样。读写都简单。不夸张说。S3 操作这块省一半代码。四、HTTP/2 默认开启Node 一直 HTTP/1.1。高并发下头部阻塞。HTTP/2 才是未来。Bun.serve({port:3000, fetch(req){returnnew Response(HTTP/2 ready);},});Bun 1.3 默认就开 HTTP/2。多路复用。性能提升明显。不用配置。// HTTP/2 服务端推送示例 Bun.serve({port:3000, fetch(req){returnnew Response(htmlscriptsrc/app.js/script/html,{headers:{content-type:text/html}});},});压测对比一下。你就知道差多少。五、bundler 大提速前端项目打包。慢得让人抓狂。await Bun.build({entrypoints:[./src/main.tsx], outdir:./dist, target:browser, minify: true,});Bun 的 bundler。底层是 Zig 写的。打 React 项目。比 webpack 快 10 倍不止。这话真不夸张。我自己测过。一个 3MB 的项目。打包就几百毫秒。开发体验拉满。六、workspace 终于有了monorepo 现在是主流。以前得 yarn workspaces。还得 pnpm 配置。{name:my-app,workspaces:[packages/*]}Bun 1.3 原生支持 workspace。一个配置文件搞定。buninstall依赖自动 link。不用再装一堆工具了。七、test runner 更稳测试也得写。Bun 自带 test。import{test,expect}frombun:test;test(两数相加,(){expect(12).toBe(3);});test(异步加法, async(){constvawait Promise.resolve(5);expect(v).toBe(5);});API 兼容 jest。老代码迁过来。改改 import 就行。跑得还贼快。八、前端 dev server 完善写前端老启 vite。Bun 直接当 dev server。importindex from./index.html;Bun.serve({port:3000, routes:{/:index,}, development: true,});HTML 也能 import。热更新自带。省了一个 vite。九、HTML imports 新玩法Bun 1.3 还有个狠活。HTML 文件能直接 import。importhtml from./page.html;console.log(html);HTML 里的 JS、CSS。Bun 自动提取。打包时处理。不用配 loader。这波真省事。展望Rust 重构版说完了 1.3。再说说后面。1.3.14 已经是 1.3 的句号。下一个大版本。就是 Rust 重构版了。Bun 官方在重写引擎。Zig 那部分。打算换 Rust。消息一出。圈内就炸了。为啥要换性能是核心。Rust 的生态更成熟。AI 也更擅长写 Rust。// Rust 重构版假想代码 Bun.serve({port:3000, async fetch(req){const dataawait Bun.redis.get(count);returnResponse.json({count: Number(data)});},});AI 写 Rust 代码。训练数据多。生成质量稳。我用 Cursor 写 Bun 项目。AI 给的代码。八九不离十。这才是换 Rust 的真原因。AI 时代的变化提个客观现象。现在写代码的逻辑变了。以前是我想清楚 → 手写 → 调试。现在是我想清楚 → AI 生成 → 我审 → 部署。效率提升巨大。但门槛也变了。你得会审。不会审的人。AI 写啥就是啥。早晚出大问题。写在最后Bun 1.3 把生态补齐了。SQL、Redis、S3。都内置。真能干活了。接下来就是 Rust 重构版。性能又要起飞。你还在用 Node建议试 Bun。迁移成本不大。AI 帮忙更快。我这 40 的老开发。都在跟。你们也试试看。评论区聊聊。你用 Bun 了吗。

相关新闻