盘点Bun内置了哪些npm包功能

173 阅读3分钟

大家好,我是农村程序员,独立开发者,前端之虎陈随易,技术群与交朋友请在个人网站 👇 联系我 ✌️

我的所有文章均为古法手写,无 AI 添加剂,请放心食用,如果你觉得本文有用,一键三连 (点赞评论转发),就是对我最大的支持~


今天突发奇想,盘点一下有哪些在Node.js中需要用第三方npm包实现,而在Bun中直接内置可用的功能。

看到这篇文章的读者朋友们,不妨给我这个AI时代的手工艺人,来个一键三连,提供一些鼓励和支持吧~

话不多说,开整!

功能Node(npm包)Bun
Mysqlnode-mysql2Bun.SQL
PostgreSQLpg 或 postgresBun.SQL
Sqlitebetter-sqlite3Bun.SQL 或bun:sqlite
Redisredis 或 ioredisBun.redis
ArchivetarBun.Archive
CookiecookieBun.Cookie
.env文件dotenv默认读取
shellzxbun.$
ffiN-APIbun:ffi
ts/js转译器esbuid/swcBun.Transpiler
yamlyamlBun.YAML
secretskeytarBun.secrets
html重写html-rewriter-wasmBun.HTMLRewriter
版本号node-semverBun.semver
颜色处理colorBun.color
s3存储各厂商五花八门Bun.s3
文件系统路由无对标,手动实现Bun.FileSystemRouter
npm补丁patch-packagebun patch
编译打包esbuild/webpack/rollupBun.build
静态web无明显对标,需web服务bun ./index.html
exeSEA(不成熟)/pkg(无维护)bun build
随机时序IDuuid/uuidv7Bun.randomUUIDv7
HTML 转义heBun.escapeHTML
字符长度string-widthBun.stringWidth

大概就是这么些了,如果有遗漏之处,欢迎朋友们在评论区留言。

可以看到,大量的在Node.js中需要第三方包实现的功能,在 Bun里面直接内置提供了。

有人说,这不灵活,不科学,不稳定,不解耦,说实话,我以前也是这么想的,长期使用之后才发现真香。

现实和理想,本就是不同的取舍,而且,我后面也想清楚了一个问题,就是一些基础的,简单的,明确的小功能。

比如color,uuid,string-width,ndoe-semver,yaml,cookie等等,这些本就是相对简单,固定,不容易变动,在npm中也没有什么较大变化的包,内置到运行时里面,何乐而不为呢?

至于前段时间各说纷纭的S3模块内置,国内的各种静态存储确实提供的SDK五花八门,但国外S3协议倒是相对更统一一些,总得来说我也不喜欢S3这种不如数据库协议广泛稳定的协议内置,但问题也不是很大,可以接受。

早用早享受,当然,小范围上手即可,公司级的中型,大型项目,还是Node.js更稳妥。就跟Java8一样,虽然Java17都发布了,但Java8依旧还是主流啊,图啥呢?不就图一个字吗。

所以,字当头,亦可追,感受技术带来的乐趣和不一样的体验。

来都来了,点个关注吧~

如果团队想快速验证RAG交互原型又避免从零搭建评估体系,可以了解下RollCode,支持私有化部署和自定义组件扩展,能把检索-生成链路快速产品化,省掉很多重复踩坑的时间。