内容标签

Bun

返回全部文章
编程笔记
按博客的实际 Git 改动,记录如何用 Bun.YAML.parse 替换 gray-matter,用 Bun.markdown 替换 marked。代码包括 frontmatter 分隔、标题与目录提取、Shiki 高亮回填、外链处理和搜索文本提取,以及内容脚本移除依赖的过程;上线后观察到内存明显下降、启动加快。
部署记录
Next.js standalone 的 server.js 看起来适合用 Bun 再打包,但实验只把入口从 12.33 KB 缩到 10.96 KB,编译出的 EXE 也未能启动。本文结合产物体积分布、100 并发压测和 CPU Profile,说明二次打包没有解决什么,以及访问日志与 HTTP 响应为何更值得检查。
编程笔记
一篇 .NET 排障文章文件存在、slug 正确,也标记为公开,却在博客压测中返回 404。问题出在 Bun.Glob 默认跳过点开头的文件,文章从未进入内容索引。本文记录扫描对照、最小复现、保留 slug 的重命名修复,以及为何文件名检查必须主动包含隐藏文件才能防止复发。
编程笔记
解释 TypeScript 6.0.3 为什么是最后一条 JavaScript 编译器版本线、7.0.2 为何直接进入 Go 原生实现,以及 Next.js、typescript-eslint 和 Bun 项目选择版本时真正受什么约束,也说明本次迁移暂留 5.9.3 的原因。
编程笔记
以内容扫描、附件读取、命令行脚本、计时和测试为例,整理 Bun.file、Bun.write、Bun.Glob、Bun.argv 与 Bun.nanoseconds 的替换方法,也说明 node:path、process.env 和测试目录 API 为什么应该保留。
编程笔记
解释 Next.js 的 runtime=nodejs、NEXT_RUNTIME、Node 兼容 API 与实际 Bun 进程之间的区别,并给出 node:http、node:path、process.env 和 @types/node 是否应该迁移的判断标准。
部署记录
记录一个 Next.js 16 monorepo 从 npm 和 Node.js 完整迁移到 Bun 1.4 的过程,覆盖 workspace、开发与构建脚本、bun:test、standalone tracing、Docker 镜像和生产冒烟验证。
编程笔记
用一个 catch-all Route Handler 让 Hono 接管 Next.js 的健康检查、搜索、附件和 MCP API,解释为什么这里直接调用 app.fetch,而不是使用 hono/bun 启动第二个服务器,并为本地文件与对象存储保留替换边界。
部署记录
在同一台电脑、同一份 Next.js standalone 产物和相同访问日志条件下,对比 Bun 1.4 与 Node.js 24 的吞吐量、p99、容器内存和镜像大小,并逐级加压直到延迟超过 1 秒,同时记录重定向与 SIGTERM 对测试结果的干扰。