Bun入门指南

什么是Bun

笔者第一次听说Bun是读Claude code源码解读文章时看到的,那文章说Claude code...采用了Bun...,内容记不清,但对于Bun这个词笔者我记的相当清楚。

Bun 是用于运行 JavaScript 和 TypeScript 应用程序的集成工具包。它以单一可执行文件的形式发布,其核心是 Bun 运行时,这是一种快速 JavaScript 运行时,可直接替换 Node.js。Bun 采用 Zig 语言编写,底层采用 JavaScriptCore 引擎,大大减少了启动时间和内存使用量。

Bun 被设计为更快、更精简、更先进的 Node.js 的替代品, 可构建纯前端的项目,也可构建后端API项目。

安装

powershell for windows

js 复制代码
powershell -c "irm bun.sh/install.ps1|iex"

npm 方式

复制代码
npm install -g bun

二进制安装

下载地址:github.com/oven-sh/bun... 支持mac,linux,windows。

以windows为例:

  1. 下载 bun-windows-x64 并解压到指定目录
  2. 配置对应 bun.exe 环境变量

升级

复制代码
bun upgrade

验证安装结果

复制代码
bun -version

入门

  1. 创建工程文件夹
bash 复制代码
mkdir quickstart
cd quickstart
  1. 用bun init初始化工程
yaml 复制代码
$ bun init
? Select a project template - Press return to submit.
❯   Blank
    React
    Library

---
# 选择Blank后,按回车,输出如下:
✓ Select a project template: Blank

 + .gitignore
 + index.ts
 + tsconfig.json (for editor autocomplete)
 + README.md

To get started, run:

    bun run index.ts

bun install v1.4.3-canary.1 (a749e0a9b)

+ @types/bun@1.4.2
+ typescript@7.0.2

6 packages installed [4.07s]

我选Blank,生成后的工程结构如下:

安装一个第三方包

csharp 复制代码
bun add figlet

查看package.json,会多出

json 复制代码
 "dependencies": {
    "figlet": "^1.11.4",
    ...
    }

figlet:将文字转为ASCII码输出

运行一个程序(快速搭建http服务)

编辑index.ts文件,内容如下:

javascript 复制代码
import figlet from "figlet";

const server = Bun.serve({
  port: 3000,
  fetch(req: Request) {
    const body = figlet.textSync("Hello World! ");
    return new Response(body); 
  },
});

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

运行

在命令行下输入

csharp 复制代码
> bun index.ts
Listening on http://localhost:3000 ...

查看输出结果

打开浏览器访问 :http://localhost:3000/

返回如下结果:

相关推荐
想睡懒觉1 小时前
我用 CSS 3D 做了个星空隧道 Loading,没有 Three.js
前端
labixiong1 小时前
transition 写在 CSS 变量上为什么不生效?给变量补张「类型身份证」
前端·css·html
YHL1 小时前
🧠 Agent 记忆进阶:总结压缩与向量检索 —— 从截断到 Milvus 长期记忆
前端·人工智能
YHL1 小时前
🎯 JavaScript 单例模式(Singleton Pattern)—— 从理论到实战
javascript·设计模式
用户921080262861 小时前
前端 Vue 专栏 05:从 Object.defineProperty 到 Proxy,彻底理解 Vue 响应式原理
前端
Fluxart.ai2 小时前
GPT Image 2.5 有使用次数限制吗?额度、并发、频率限制说明
服务器·前端·gpt
程序员海军2 小时前
AI 越来越强,为什么打工人反而越来越累、越来越内耗了?
前端·程序员·aigc
vx_Biye_Design2 小时前
springboot游泳馆系统93765-计算机课程设计、毕业设计
java·javascript·spring boot·后端·python·spring·课程设计
名字还没想好☜2 小时前
Java NIO ByteBuffer 实战:flip/clear/compact 三个绕晕人的方法与 position/limit 心智模型
java·开发语言·后端·spring·nio