首发于工作日常
Bun.js——惊鸿一瞥

Bun.js——惊鸿一瞥

Github: github.com/oven-sh/bun
首页:https://bun.sh
原文链接:Bun.js--惊鸿一瞥 - 不·会飞的猪
转载请注明出处

Bun 是什么

现代的 JavaScript 运行时,与 Node 和 Deno 类似。它关注三件事:

  • 迅速启动
  • 从底层提高了性能水平
  • 提供丰富且完整的工具链
    • 打包
    • 编译
    • 包管理器


性能对比:

Bun 旨在无感替代现有的 JavaScript 运行时并成为浏览器外执行 JS 的主流环境,为用户带来性能和复杂性的提升的同时,以更好更简单的工具提高开发者的效率。

不过,Bun 目前只实现了 90% 左右的 Node-API。

Bun 如何工作

底层是 JavaScriptCore 引擎,启动和运行的速度都比 v8 快。

Bun是使用 Zig 写的,这个语言偏低层,可手动控制内存,因此性能可以更强。

安装

curl https://bun.sh/install | bash

下载好以后,别忘了将 Bun 的 bin 目录给到环境变量中。以macOS和zsh为例:

# 打开 ~/.zshrc 文件,添加一行
export PATH="$HOME/.bun/bin:$PATH"

接着,执行source ~/.zshrc,之后就能使用 bun 命令了:

bun --help

Demo——启动一个 HTTP Server

创建如下 http.js 文件:

// http.js
export default {
  // ⚠️ 3000 端口如果被占用的话,程序执行会出错,并且没有一个明确的错误提示。
  port: 3000,
  fetch(request) {
    return new Response("Welcome to Bun!");
  },
};

接着,执行如下命令启动改程序:

bun run ./http.js

打开浏览器就能看到结果了:

发布于 2022-07-14 19:42