• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

还在用 Node.js 吗试试 Bun.js

武飞扬头像
楷鹏 : )
帮助1

学新通

今天的主角,Bun.js(下称 Bun),新一代的 All-In-One 的 JavaScript 运行时,Node.js(下称 Node) 和 Deno 的挑战者。

Bun 目前才 0.1.0 版本,作为后起之秀,却已经拥有超过 28K 的Star,要知道,目前发布多年 Node 目前是 89K。

学新通

学新通

Bun /bʌn/,意思是「小圆面包」,这款去年 4 月由 Jarred-Sumner 创建的项目,为什么短短时间可以受到这么多人的青睐,我们来看一下 Bun 的官网:

Bun 官网

学新通

学新通

学新通

这里提到的三方面,SSR、SQLite 和 FFI 都远远吊打 Node 和 Deno,这要得益于 Bun 自身提供的 JavaScript 内核,它比 V8 引擎更快、内存效率更高。

  • SSR,服务器渲染。

  • SQLite,一个 C 语言库,它实现了一个小型、快速、自包含、高可靠、全功能的 SQL 数据库引擎,主要用于移动端设备和大部分 PC 应用程序。

  • FFI,全称 Foreign function interface,外部函数接口,它是一种机制,可以调用另外编程语言提供的服务。

Bun 不仅实现了大部分的 Node API,诸如 Fetch、WebSocket等,
还集成了前端开发的最佳实践:

  1. 直接转译 JavaScript/TypeScript/JSX
  2. 打包 JavaScript/CSS
  3. 用于 package.json 脚本的任务运行器
  4. 兼容 npm 的包管理器

接下来来浅尝一下 Bun:

  1. 安装:适用于 MacOS 和 Linux
curl -fsSL https://bun.sh/install | bash
  1. 创建一个 TypeScript 类型的文件 http.ts,这里做一件简单的事情:起一个端口号为 3003 的服务,请求时响应字符串 Hello Bun
export default {
  port: 3003,
  fetch(request: Request) {
    return new Response('Hello Bun');
  },
};
  1. 在该文件下打开一个命令行终端,执行该脚本:
~ bun ./http.ts
  1. 在浏览器输入 URL : http://localhost:3003

学新通

不过,目前 Bun 还是一个试验性的产品,不建议大家用于生产,该团队现阶段工作聚焦在 JavsScript 运行时上面,距离稳定的 v1.0.0 版本可能还要有一段很长的路要走,翘首期盼吧 🤩

Reference

[1] What Is SQLite?
[2] Foreign function interface

这篇好文章是转载于:编程之路

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 编程之路
  • 本文地址: /boutique/detail/tanhhgajbg
系列文章
更多 icon
同类精品
更多 icon
继续加载