学校晚霞黄昏晚霞层渐染,一抹灯白橘黄橙

封面是在校外吃完晚饭后散步到南大门时,只见晚霞侵染了半边天空。
胡言乱语
再修理自行车
这周自行车前胎爆了,骑了一周共享单车,趁着周末有时间赶紧换了车胎,记得买这辆车也才大三的事,但从初中以后就告别自行车了。小时候尝试着大人专属的二八大杠,每次都跨不上车座。遂胜于无聊,改装了一辆自行车,凑了凑配件,竟然真的成功了。能跑,速度不快,在公路上来回驰骋,那时候是真的快乐。十年后的今天再修理自行车,有一种熟悉又陌生的感觉。我看着车,呆呆的,心想:车轮什么时候这么小了呢?
值得分享
一个现代的 JavaScript/TypeScript 运行时,旨在替代 Node.js,使用 Zig 语言编写,专注于开发效率和运行速度。

一个现代的 JavaScript/TypeScript 运行时,用 Rust 语言编写,原生支持 TypeScript、ES 模块和现代 Web API。

一个高性能的Node.js 包管理器,作为 npm 和 yarn 的现代替代品,主打速度快、磁盘节省、严格依赖管理。

编程手札
Bun 简介
一个现代的 JavaScript/TypeScript 运行时
核心特性
- 极速启动:比 Node.js 快 3~5 倍,冷启动几乎无延迟
- 内置工具链:自带 bun install(包管理)、bun run、bun test、bun build
- 原生支持 TS/JSX:无需额外配置,直接运行
.ts、.tsx文件 - 内置测试运行器:类似 Jest,但更快,支持 bun test
- 内置 Web API:支持 fetch、WebSocket、Headers 等浏览器 API
- 内置 SQLite 支持:Bun.sqlite 可直接操作数据库
- 兼容 npm 生态:可安装和使用大多数 npm 包
现在我们使用 Bun 创建一个简单的 HTTP 服务器,试试吧。
动手体验
创建项目:
bashmkdir bun-demo cd bun-demo // 会提示你输入项目类型、模板等,也可以一路回车使用默认值。 bun init项目结构如下:
. ├── index.ts ├── README.md ├── package.json ├── .gitignore └── tsconfig.json编写服务器代码
创建
index.ts文件:tsimport { serve } from "bun'; serve({ port: 3000, fetch(req): Response { const url = new URL(req.url); if (url.pathname === '/') { return new Response('Hello from Bun! 🚀', { headers: { 'Content-Type': 'text/plain' }, }); } return new Response('Not Found', { status: 404 }); }, }); console.log("Server started at http://localhost:3000")直接运行
bashbun index.ts # 查看地址 → 显示 "Hello from Bun! 🚀" curl http://127.0.0.1:3000/启用热重载(开发模式)
Bun 本身不内置热重载,但我们可以使用 bun --watch 实现文件变化自动重启
bashbun --watch index.ts现在我们修改
index.ts,看看响应变化tsimport { serve } from "bun'; serve({ port: 3000, fetch(req): Response { const url = new URL(req.url); // 修改接口为 /bun if (url.pathname === '/') { return new Response('Hello from Bun! 🚀', { headers: { 'Content-Type': 'text/plain' }, }); } return new Response('Not Found', { status: 404 }); }, }); console.log("Server started at http://localhost:3000")再次访问接口
bash# 查看地址 → 显示 "Not Found" curl http://127.0.0.1:3000/包管理
让我们试试Bun的包管理,安装 nanoid(生成唯一 ID):
bashbun add nanoid修改
index.ts,添加一个新路由:tsimport { nanoid } from "nanoid"; // 在 fetch 内添加: if (url.pathname === "/id") { return new Response(JSON.stringify({ id: nanoid() }), { headers: { "Content-Type": "application/json" }, }); }重启服务后访问 /id,会返回一个随机 ID。
测试功能
创建
test.test.ts:tsimport { expect, test } from "bun:test"; const BASE = "http://localhost:3000"; test("GET / 返回 200 且正文正确", async () => { const res = await fetch(BASE + "/"); expect(res.status).toBe(200); const text = await res.text(); expect(text).toBe("Hello from Bun! 🚀"); });运行测试:
bashbun test总结
Bun 在前端开发体验上比较完善,解决了前端诸多痛点。如果你想创建新项目不妨试试 Bun,绝对会给你不同的体验。
清闲半日
电视剧:《重启人生 ブラッシュアップライフ》
很好看,十分推荐,虽然剧情上有点小瑕疵,但是瑕不掩瑜。对于人生有很多启发。很有意义的一部剧。尤其是当女主真正的过好这辈子而不是考虑下辈子,他才真正把人生参透一撇。每一次选择都会有不同的人生,祝愿我们每次都有正确的选择。

音乐:《 慢慢喜欢你》——李荣浩
怎么说呢,有种大学时期初恋的味道,又酸又甜。虽然我没经历过😂
