Bun是一种现代JavaScript运行时(JavaScript runtime),旨在简化和加速JavaScript和TypeScript应用程序的开发,在行业内较为受欢迎。
与传统运行时不同,Bun将多种工具组合成一个统一的软件包,包括捆绑器、测试运行器和兼容Node.js的软件包管理器,其主要功能特点包括:
- 高性能:Bun的设计充分考虑了速度,通过扩展JavaScriptCore(Safari的驱动引擎),可确保快速启动并高效执行应用程序。
- 全面的工具包:使用Bun软件,将会获得一个一体化解决方案,其中包括用于打包代码的捆绑器、用于确保代码可靠性的测试运行器以及与Node.js兼容的包管理器,从而简化开发工作流程。
- Node.js兼容性:Bun旨在成为Node.js的替代品,实现Node的模块解析算法并支持fs和path等内置模块。
- 一流的TypeScript和JSX支持:Bun允许用户直接执行
.ts
文件.tsx
,并且还会遵循你的tsconfig.json
设置。此外,它还会在内部将JSX语法转换为JavaScript,默认使用React,但也支持自定义JSX转换。
Linux系统安装Bun
安装Bun需要unzip软件包,因此请使用发行版的包管理器按照如下命令进行安装:
sudo apt install unzip [Debian、Ubuntu和Mint] sudo dnf install unzip [RHEL/CentOS/Fedora和Rocky/AlmaLinux] sudo emerge -a sys-apps/unzip [Gentoo Linux] sudo apk add unzip [Alpine Linux] sudo pacman -S unzip [Arch Linux] sudo zypper install unzip [OpenSUSE] sudo pkg install unzip [FreeBSD]
接下来,使用curl命令下载并执行Bun的安装脚本,该脚本将下载Bun二进制文件并将其放在系统的PATH中,从而使bun命令可在全局中使用。
curl -fsSL https://bun.sh/install | bash
在Linux中开始使用Bun
安装Bun之后,可以快速建立新的项目目录并开始构建应用程序:
mkdir my-bun-app cd my-bun-app
接下来,使用Bun初始化项目,它会提示你几个问题来设置你的项目。你可以按Enter接受默认答案。Bun将生成必要的文件,例如package.json
、index.ts
、.gitignore
和tsconfig.json
。
bun init
创建HTTP服务器
打开index.ts
文件并添加以下代码可以创建一个简单的HTTP服务器:
const server = Bun.serve({ port: 3000, fetch(request) { return new Response("Welcome to Bun!"); }, }); console.log(`Listening on http://localhost:${server.port}`);
现在使用以下命令运行服务器:
bun run index.ts
这时应该会看到Listening on http://localhost:3000
消息:
打开浏览器并访问URL http://localhost:3000
以查看来自服务器的响应,如下图所示:
使用Bun管理软件包
要将新的软件包添加到你的项目,请使用以下命令,它将安装指定的包并相应地更新你的package.json
。Bun在node_modules
目录中管理依赖项,类似于其它包管理器,从而确保与现有的Node.js
项目兼容。
bun add figlet
更新index.ts
,以在fetch处理程序中使用figlet:
import figlet from "figlet"; const server = Bun.serve({ port: 3000, fetch(request) { const message = figlet.textSync("Welcome to Bun!", { horizontalLayout: "default", verticalLayout: "default", }); return new Response(message, { headers: { "Content-Type": "text/plain" }, }); }, }); console.log(`Listening on http://localhost:${server.port}`);
重新启动服务器,然后刷新之前页面即可看到新的ASCII艺术横幅效果:
如果你需要从系统中删除Bun ,请使用以下命令:
rm -rf ~/.bun
结论
总而言之,Bun是一个强大而高效的JavaScript运行时,它通过将多种工具集成到单一平台来简化开发过程。与此同时,Bun的的高性能、Node.js兼容性以及对TypeScript和JSX的一流支持使其成为寻求现代、简化开发体验的开发人员的理想选择。