Node.js早已有了超过14年的历史,尽管它仍然有着不错的表现,并且关联的JavaScript工具链正显得平缓而复杂。我们明天要介绍的开源项目是一个快速的全能工具包,用于运行、构建、测试和调试JavaScript和TypeScript,它就是:Bun

Bun快速JavaScript运行时_linux安装nodejs_Bun性能优化Nodejs替代方案

Bun是哪些

Bun的核心是一个快速的JavaScript运行时,借以代替Node.js。但它并不仅仅是一个运行时,它也是一个包管理器(类似Yarn、NPM、PNPM),一个重构工具(类似Webpack、ESBuild、Parcel),一个测试运行器,一个全能的工具包。它是用Zig语言编撰的,并在底层由JavaScriptCore提供支持linux安装nodejs,大大降低了启动时间和显存使用。

从发布就仍然热度激增,是了2022年最火的后端项目,2023年的评比中也是第二名。

linux安装nodejs_Bun性能优化Nodejs替代方案_Bun快速JavaScript运行时

Bun的目标很简单,就是要清除JavaScript工具链的平缓和复杂性,但同时保留JavaScript本身的优点。Bun希望让开发者继续使用喜欢的库和框架,而且无需舍弃早已熟悉的规范和约定。Bun始终追求极至的性能,在各个方面都要比Nodejs快不少。

以下是项目github的star历史数据,仍然保持着超高的下降速率。

为何用Bun?

Bun性能优化Nodejs替代方案_Bun快速JavaScript运行时_linux安装nodejs

linux安装nodejs_Bun快速JavaScript运行时_Bun性能优化Nodejs替代方案

假如迟疑要不要试一下,那不如先来瞧瞧下边这种点能不能吸引你:

速率:Bun致力提供高性能,无论是启动时间、执行速率还是安装依赖包的速率。进程的启动速率比Nodejs快4倍。兼容性Nodejs:Bun旨在于与现有的JavaScript生态系统兼容,包括Node.js的软件包。Allinone:Bun可以让你省下好多工具,由于外置了,例如npx,webpack,babel,jest等等原生的WebAPI:Bun提供了许多浏览器中的WebAPI,这促使编撰服务器端代码与编撰顾客端代码更为相像。

linux安装nodejs_Bun快速JavaScript运行时_Bun性能优化Nodejs替代方案

使用Bun

Bun提供了十分多的安装方法,对于Linux和MacOS用户,可以使用curl、npm、Homebrew,docker等形式安装:

# with install script (recommended)
curl -fsSL  | bash
# with npm
npm install -g bun
# with Homebrew
brew tap oven-sh/bun
brew install bun
# with Docker
docker pull oven/bun
docker run --rm --init --ulimit memlock=-1:-1 oven/bun

Windows的用户要求是win10version1809以上(不保证稳定性),可以通过Scoop来安装:

# WARNING: No stability is guaranteed on the experimental Windows builds
scoop bucket add versions
scoop install bun-canary

安装完成后,执行bun--version,见到输出版本号就是安装成功了。

接出来我们可以跑一个helloworld体验一下,可以试用buninit命令

Bun性能优化Nodejs替代方案_Bun快速JavaScript运行时_linux安装nodejs

Bun性能优化Nodejs替代方案_linux安装nodejs_Bun快速JavaScript运行时

更改一下index.ts的内容

const server = Bun.serve({
  port: 3000,
  fetch(req) {
    return new Response("Bun!");
  },
});
console.log(`Listening on :${server.port} ...`);

启动服务bunindex.tslinux安装nodejs,就可以看见起的服务了

Bun快速JavaScript运行时_linux安装nodejs_Bun性能优化Nodejs替代方案

用上去上手不难,和Nodejs的使用接近。虽然不把Bun用作运行时,Bun外置的软件包管理器也能推动你的开发工作流程。Bun的安装速率比npm、yarn和pnpm快好几个数目级linux桌面,还可以用bunrun来替换npmrunlinux怎么读,每次运行命令都能节约150纳秒的时间。

linux安装nodejs_Bun性能优化Nodejs替代方案_Bun快速JavaScript运行时

我只是抛砖引玉,更多详尽的使用就等着你们自己去尝试吧。

项目信息

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复