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/

返回如下结果:

相关推荐
步行cgn1 小时前
Spring 全注解开发详解
java·后端·spring
Csvn1 小时前
组合式 API(Composition API)
前端
火柴就是我3 小时前
Android 打包报错 25.0.3
android·前端
BD_Marathon3 小时前
消息对象中字段的说明
java·前端·python
八荒启·交互动画3 小时前
Web特效025—用 Canvas 2D 做Web特效的定义与边界:这支画笔能做到哪一步
前端·webgl·网页特效·八荒启-交互动画·八荒启
Ai-_Man3 小时前
您您这可以把Dola的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。用AI导出鸭,答案是可以的
开发语言·前端·人工智能·小程序
excel3 小时前
Nuxt 中使用 useHead 优化 SEO 与 GEO
前端
IT_陈寒4 小时前
SpringBoot启动慢得像蜗牛?原来是这个配置在捣鬼
前端·人工智能·后端
计算机魔术师4 小时前
Muse Spark跑赢Gemini,但真正的底牌是这种设计
前端
PYB34 小时前
【Web·JS·基础】函数的使用和展运算符...objs
前端·javascript