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

40岁了,最近再学bun和ai。

Bun 1.3.14 上个月发了。

这是 1.3 系列的收官版。

1.3 这个版本线从发布到现在。

我看完 changelog。

就一个感受。

Bun 设计的API是真优雅 真简单。

今天就掰开讲讲。

一、SQL 客户端内置

以前连数据库。

得装 mysql2 或 pg。

还得自己写连接池。

代码又臭又长。

bash 复制代码
import { MySQLClient } from "bun";

const db = new MySQLClient({
  host: "127.0.0.1",
  port: 3306,
  user: "root",
  password: "123456",
  database: "shop",
});

const users = await 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。

看着就头疼。

bash 复制代码
import { redis } from "bun";

await redis.set("order:1001", "已支付");
const status = await redis.get("order:1001");
console.log(status);

Bun 把 Redis 客户端也内置了。

API 简单。

直连服务端。

Pipelining 也支持。

性能比 ioredis 还快一点。

不信你压测看看。

三、S3 文件操作

上传文件老写 SDK。

minio-js、aws-sdk。

代码又长又难懂。

bash 复制代码
import { s3 } from "bun";

const f = s3.file("images/avatar.png");
await f.write(Bun.file("./avatar.png"));

const buf = await f.arrayBuffer();
console.log(buf.byteLength);

Bun 1.3 把 S3 也整进来了。

文件对象语义。

跟本地 fs 一样。

读写都简单。

不夸张说。

S3 操作这块省一半代码。

四、HTTP/2 默认开启

Node 一直 HTTP/1.1。

高并发下头部阻塞。

HTTP/2 才是未来。

bash 复制代码
Bun.serve({
  port: 3000,
  fetch(req) {
    return new Response("HTTP/2 ready");
  },
});

Bun 1.3 默认就开 HTTP/2。

多路复用。

性能提升明显。

不用配置。

bash 复制代码
// HTTP/2 服务端推送示例
Bun.serve({
  port: 3000,
  fetch(req) {
    return new Response(
      `<html><script src="/app.js"></script></html>`,
      { headers: { "content-type": "text/html" } }
    );
  },
});

压测对比一下。

你就知道差多少。

五、bundler 大提速

前端项目打包。

慢得让人抓狂。

bash 复制代码
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 配置。

bash 复制代码
{
  "name": "my-app",
  "workspaces": ["packages/*"]
}

Bun 1.3 原生支持 workspace。

一个配置文件搞定。

bash 复制代码
bun install

依赖自动 link。

不用再装一堆工具了。

七、test runner 更稳

测试也得写。

Bun 自带 test。

bash 复制代码
import { test, expect } from "bun:test";

test("两数相加", () => {
  expect(1 + 2).toBe(3);
});

test("异步加法", async () => {
  const v = await Promise.resolve(5);
  expect(v).toBe(5);
});

API 兼容 jest。

老代码迁过来。

改改 import 就行。

跑得还贼快。

八、前端 dev server 完善

写前端老启 vite。

Bun 直接当 dev server。

bash 复制代码
import index from "./index.html";

Bun.serve({
  port: 3000,
  routes: {
    "/": index,
  },
  development: true,
});

HTML 也能 import。

热更新自带。

省了一个 vite。

九、HTML imports 新玩法

Bun 1.3 还有个狠活。

HTML 文件能直接 import。

bash 复制代码
import html 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。

bash 复制代码
// Rust 重构版假想代码
Bun.serve({
  port: 3000,
  async fetch(req) {
    const data = await Bun.redis.get("count");
    return Response.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 了吗。

相关推荐
小妖66615 分钟前
设置了 box-sizing: border-box; 不管用,下边框还是被挤压没了
前端·css·html
雪隐1 小时前
个人电脑玩AI-16让5060 Ti给你打工——5060Ti 16G 跑 MiniMax-Music-3:从下载到 60s 出歌的全流程
前端·人工智能·后端
报错小能手1 小时前
Go 语言结构 基础语法
开发语言·后端·golang
暗黑小白1 小时前
参数从哪来、何时来 —— 提取时机与平台化 Slot 管理
人工智能·后端·大模型·ai agent
剩下了什么1 小时前
go语言 Ctx:「错误三:在 Context 中存储可变值」
开发语言·后端·golang
张元清2 小时前
React useLatest Hook:在异步回调里读到最新状态 (2026)
javascript·react.js
CAD老兵2 小时前
让 AI Coding Agent 直接访问 CAD 文档:GitMCP 实战指南
前端·人工智能·github
程序员鱼皮2 小时前
DeepSeek Harness 最新邪修曝光!被吹成核弹的极简模式,真的夯吗?
前端·后端·ai编程
Gopher_HBo2 小时前
请求绑定与校验
后端
长栎2 小时前
你写的撤销功能,99% 是伪 Memento——Undo 不是存个备份那么简单
后端