背景 最近前端工具链又火了一个项目 Bun,可以说内卷非常严重。Bun 是一个新的 JavaScript 运行时,内置了打包器、转译器、任务运行器和 npm 客户端。
Bun 是像 Node 或 Deno 一样的现代 JavaScript 运行时。和 Nodejs 不同的是 Bun 扩展自 jsCore,而不是 V8。Bun 原生实现了数百个 Node.js 和 Web API,包括约 90% 的 Node-API 函数(本机模块)、fs、path、Buffer 等。
Bun 的目标是在浏览器之外运行世界上大多数 JavaScript,为您的未来基础架构带来性能和复杂性的增强,并通过更好、更简单的工具提高开发人员的生产力。
小编计划在 Windows 上尝试安装 Bun 体验一下。
环境准备
- 安装 WSL
具体步骤可以参考微软官方文档 Install Linux on Windows with WSL
推荐使用 Windows Terminal 来快速打开 WSL 终端:Microsoft Store: Windows Terminal
- 确保开启 BIOS 虚拟机功能
Intel Virtual Technology
设置,由 Disable
禁用设置为 Enable
可用。- 开启 Hyper-v
bcdedit /set hypervisorlaunchtype auto
关于虚拟机和 Hyper-v 的设置细节也可以参考这篇博文:Vmware Workstation16 出现 "VMware Workstation 不可恢复错误:(vcpu-1)"故障解决安装 Bun
- 确保 WSL 系统(我的是 Ubuntu)安装了 unzip,否则安装 Bun 的时候会报错
error: unzip is required to install Bun (see: https://github.com/Jarred-Sumner/bun#unzip-is-required
用
Terminal
打开 WSL
,Ubuntu 系统用以下命令安装 unzipsudo apt-get install unzip
- WSL 下输入
curl https://bun.sh/install | bash
出现以下提示即为安装成功
Bun was installed successfully to /root/.bun/bin/bunManually add the directory to your $HOME/.bashrc (or similar)BUN_INSTALL="/root/.bun"
PATH="$BUN_INSTALL/bin:$PATH"
- 根据提示手动添加环境变量
.bashrc
文件vim /root/.bashrc
将以下环境变量设置添加进
.bashrc
文件末尾保存即可BUN_INSTALL="/root/.bun"
PATH="$BUN_INSTALL/bin:$PATH"
退出 WSL 再进入,检验是否安装成功
bun -h
- 测试模块
【js|Windows 下安装 Bun(像 Node 或 Deno 一样的现代 JavaScript 运行时)】官方详细教程 Get started using VSCode with WSL我们新建一个
http.js
文件,编写代码// http.js
export default {
port: 3000,
fetch(request) {
return new Response("Welcome to Bun!");
},
};
启动 http 服务
bun run http.js
访问
http://localhost:3000
就可以看到Welcome to Bun!
信息,表示运行成功。官网还提供了更多案例可以尝试: Bun Examples
总结 体验下来,这款工具的使用还有待改进,特别是对于 Windows 用户,安装起来并不容易,最好能提供 Windows 安装包。当前只是 beta 版本,可以用作学习,要上生产使用可能还有段路要走,毕竟 Node.js 已经被前端开发所熟知,而且还有 Deno 的生态正在建立,任重而道远。
参考
- Windows 下安装 Bun:像 Node 或 Deno 一样的现代 JavaScript 运行时
- Vmware Workstation16 出现 "VMware Workstation 不可恢复错误:(vcpu-1)"故障解决
- Bun
推荐阅读
- pits|[vue3] error in ./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js
- 云原生|【云原生丨Docker系列13】Docker 的多阶段构建详解
- 爬虫案例合集|36氪详情页AES
- webpack|webpack基础(8).代码分离
- vue|vue环境搭建
- webpack|webpack知识点
- Github每日精选|Github每日精选(第21期)(开源文件同步syncthing)
- #项目: electron仿客户端QQ简易版
- Vue项目导出|前端使用vue实现导出pdf