Bun v1.3 发布了!支持 Redis, MySQL, SQLite,更好的 Node 兼容性 →

Bun
Bun v1.3 发布了!→

Bun 是一个 快速的 JavaScript
一体化工具包|

Bun 是一个快速、**可渐进式采用**的多合一 JavaScript、TypeScript 和 JSX 工具包。您可以在 Node.js 项目中使用 `bun test` 或 `bun install` 等独立工具,或者采用完整的堆栈,包括一个快速的 JavaScript 运行时、打包器、 测试运行器 包管理器 内置。Bun 旨在实现 100% Node.js 兼容性。

被以下公司使用

四个工具,一个工具包

作为一个一体化工具包一起使用,或者逐步采用。 bun test 在 Node.js 项目中也可以使用。 bun install 可以作为最快的 npm 客户端使用。每个工具都是独立的。

REPLACESNode.js
ReplacesNPM
ReplacesVitest
ReplacesVite

谁使用 Bun?

Claude Code 使用 Bun

Bun 的 单文件可执行文件 和快速启动时间非常适合 CLI。

Railway Functions 由 Bun 提供支持

Bun 的一体化工具包使 Railway 的无服务器函数快速且易于使用。

Midjourney 使用 Bun

Bun 内置的 WebSocket 服务器 帮助 Midjourney 大规模发布图像生成通知。

Bun 有何不同?

Bun 提供丰富的内置 API 和工具

内置 核心功能

Bun
Bun
Node
Node.js 兼容性
Web 标准 API
原生插件
TypeScript
JSX
模块加载器插件

内置 API

Bun
Bun
Node
PostgreSQL、MySQL 和 SQLite 驱动程序
S3 云存储驱动
Redis 客户端
WebSocket 服务器(包括发布/订阅)
HTTP 服务器
HTTP 路由器
单文件可执行文件
YAML
Cookies API
加密密钥存储

内置 工具

Bun
Bun
Node
npm 包管理
打包器
跨平台 $ shell API
Jest 兼容测试运行器
热重载(服务器)
Monorepo 支持
前端开发服务器
格式化器和代码检查器

内置 实用程序

Bun
Bun
Node
密码和哈希 API
字符串宽度 API
Glob API
Semver API
CSS 颜色转换 API
CSRF API

构建和发布所需的一切

生产就绪的 API 和工具,内置于 Bun

$ bun run

Bun 是一个 JavaScript 运行时。

Bun 是一个从零开始构建的新 JavaScript 运行时,旨在服务现代 JavaScript 生态系统。它有三个主要设计目标:

Bun 被设计为 Node.js 的直接替代品。它原生实现了数千个 Node.js 和 Web API,包括 fspathBuffer 等。

Bun 的目标是运行世界上大部分的服务器端 JavaScript,并提供工具来提高性能、降低复杂性并倍增开发人员的生产力。

Bun 兼容 Next.js

Lee Robinson

Cursor (Anysphere) 开发者体验副总裁

app/blog/[slug]/page.tsx

import { s3, $, sql } from "bun";
 
export default async function BlogPage({ params }) {
  const [post] = await sql`
    SELECT title, image_key, content
    FROM posts
    WHERE slug = ${params.slug}
  `;
 
  const imgUrl = s3.file(post.image_key).presign({•••});
 
  const wordCount = await $`echo ${post.content} | wc -w`;
 
  return (
    <div>
      <h1>{post.title}</h1>
      <img src={imgUrl} />
      <p>字数{wordCount}</p>
    </div>
  );
}

全速全栈

Bun 内置的高性能开发服务器和生产打包器,让前端应用飞速运行。你从未见过如此快速的热重载!见过如此快速的热重载!

开发和发布前端应用

Bun 内置的打包器和开发服务器使前端开发快速而简单。通过即时热重载进行开发,然后发布优化的生产构建——所有这些都无需配置。

$ bun init --react

启动开发服务器

运行 bun ./index.html 启动开发服务器。TypeScript、JSX、React 和 CSS 导入开箱即用。

热模块替换

内置 HMR 在开发过程中保留应用程序状态。更改即时生效——无需手动刷新。

用于生产环境的构建

使用以下命令构建优化的 bundle: bun build ./index.html --production。摇树优化、压缩和代码分割开箱即用。

$ bun install

Bun 是一个兼容 npm 的包管理器。

Bun

pnpm

慢 17 倍

npm

慢 29 倍

Yarn

慢 33 倍

从缓存安装 Remix 应用程序的依赖项。
查看基准测试

yarn 替换为 bun install,可将包安装速度提高 30 倍。

$ bun test

Bun 是一个测试运行器,让其他测试看起来像在步行。

Bun

Vitest

慢 5 倍

Jest+SWC

慢 8 倍

Jest+tsjest

慢 18 倍

Jest+Babel

慢 20 倍

jest 替换为 bun test,可将测试运行速度提高 10-30 倍。

您需要的 API。内置。

启动 HTTP 服务器

启动 WebSocket 服务器

读写文件

哈希密码

前端开发服务器

编写测试

查询 PostgreSQL

使用 Redis

导入 YAML

设置 cookies

运行 Shell 脚本

调用 C 函数

index.tsx
import { sql, serve } from "bun";

const server = serve({
  port: 3000,
  routes: {
    "/": () => new Response("Welcome to Bun!"),
    "/api/users": async (req) => {
      const users = await sql`SELECT * FROM users LIMIT 10`;
      return Response.json({ users });
    },
  },
});

console.log(`Listening on localhost:${server.port}`);

了解更多

文档

开始使用 Bun 并了解其所有功能

API 参考

探索 Bun 运行时和工具包的完整 API 参考

开发者们都喜欢 Bun。

Sainder
1月17日
@Sainder_Pradipt
Bun
Lic
1月18日
@Lik228
bun
Martin Navrátil
1月17日
@martin_nav_
Bun....
SaltyAom
1月17日
@saltyAom
bun
reaxios
1月17日
@reaxios
bun install bun
kyge
1月17日
@0xkyge
bun
James Landrum
1月17日
@JamesRLandrum
Node
orlowdev
1月17日
@orlowdev
是的,Bun,但是我的代码没有依赖项。
你好
1月17日
@jdggggyujhbc
bun
std::venom
1月17日
@std_venom
Bun
tiago
1月19日
@tiagorangel23
应该用 Bun 而不是 npm
Sainder
1月17日
@Sainder_Pradipt
Bun
Lic
1月18日
@Lik228
bun
Martin Navrátil
1月17日
@martin_nav_
Bun....
SaltyAom
1月17日
@saltyAom
bun
reaxios
1月17日
@reaxios
bun install bun
kyge
1月17日
@0xkyge
bun
James Landrum
1月17日
@JamesRLandrum
Node
orlowdev
1月17日
@orlowdev
是的,Bun,但是我的代码没有依赖项。
你好
1月17日
@jdggggyujhbc
bun
std::venom
1月17日
@std_venom
Bun
tiago
1月19日
@tiagorangel23
应该用 Bun 而不是 npm
46officials
1月19日
@46officials
Bun
yuki
1月19日
@staticdots
Bun
Stefan
1月17日
@stefangarofalo
Bun
Samuel
1月17日
@samueldans0
永远是 Bun
Divin Prince
1月17日
@divinprnc
是的,Bun
Gibson
1月16日
@GibsonSMurray
bun
Oggie Sutrisna
1月16日
@oggiesutrisna
bun
emanon
1月16日
@0x_emanon
✅ bun
yuki
1月16日
@staticdots
bun
SpiritBear
1月16日
@0xSpiritBear
bun
Ayu
1月12日
@Ayuu2809
Bun 真棒 🧅
46officials
1月19日
@46officials
Bun
yuki
1月19日
@staticdots
Bun
Stefan
1月17日
@stefangarofalo
Bun
Samuel
1月17日
@samueldans0
永远是 Bun
Divin Prince
1月17日
@divinprnc
是的,Bun
Gibson
1月16日
@GibsonSMurray
bun
Oggie Sutrisna
1月16日
@oggiesutrisna
bun
emanon
1月16日
@0x_emanon
✅ bun
yuki
1月16日
@staticdots
bun
SpiritBear
1月16日
@0xSpiritBear
bun
Ayu
1月12日
@Ayuu2809
Bun 真棒 🧅
Hirbod
1月19日
@hirbod_dev
一切都用。是的。我甚至用 bunx expo run:ios 等。
Luis Paolini
1月18日
@DigitalLuiggi
就用 @bunjavascript
buraks
1月18日
@buraks____
我用 bun patch,我爱它!
fahadali
1月8日
@fahadali503
Bun
Aiden Bai
1月1日
@aidenybai
2025 将是 JS/TS 之年,@bunjavascript 是原因。
Catalin
1月1日
@catalinmpit
Bun 太棒了
MadMax
1月3日
@dr__madmax
@bunjavascript 还没有得到它应得的足够赞赏。
Baggi/e
1月3日
@ManiSohi
高性能的 TS/JS 后端需要更多的爱。Elysia 必胜
Michael Feldstein
12月18日
@msfeldstein
天哪,bun 是解决整天与 typescript/module/commonjs/import 这些破事纠缠,只为运行脚本的终极方案
Hirbod
1月19日
@hirbod_dev
一切都用。是的。我甚至用 bunx expo run:ios 等。
Luis Paolini
1月18日
@DigitalLuiggi
就用 @bunjavascript
buraks
1月18日
@buraks____
我用 bun patch,我爱它!
fahadali
1月8日
@fahadali503
Bun
Aiden Bai
1月1日
@aidenybai
2025 将是 JS/TS 之年,@bunjavascript 是原因。
Catalin
1月1日
@catalinmpit
Bun 太棒了
MadMax
1月3日
@dr__madmax
@bunjavascript 还没有得到它应得的足够赞赏。
Baggi/e
1月3日
@ManiSohi
高性能的 TS/JS 后端需要更多的爱。Elysia 必胜
Michael Feldstein
12月18日
@msfeldstein
天哪,bun 是解决整天与 typescript/module/commonjs/import 这些破事纠缠,只为运行脚本的终极方案