分享最新优惠信息
购买主机更加划算

Bun:专为Linux用户提供更快的JavaScript运行时(runtime)

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

在Linux中开始使用Bun

安装Bun之后,可以快速建立新的项目目录并开始构建应用程序:

mkdir my-bun-app
cd my-bun-app

接下来,使用Bun初始化项目,它会提示你几个问题来设置你的项目。你可以按Enter接受默认答案。Bun将生成必要的文件,例如package.jsonindex.ts.gitignoretsconfig.json

bun init

在Linux中初始化Bun

创建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消息:

在Linux中运行Bun

打开浏览器并访问URL http://localhost:3000以查看来自服务器的响应,如下图所示:

在Linux中查看Bun

使用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艺术横幅效果:

查看ASCII艺术横幅

如果你需要从系统中删除Bun ,请使用以下命令:

rm -rf ~/.bun

结论

总而言之,Bun是一个强大而高效的JavaScript运行时,它通过将多种工具集成到单一平台来简化开发过程。与此同时,Bun的的高性能、Node.js兼容性以及对TypeScript和JSX的一流支持使其成为寻求现代、简化开发体验的开发人员的理想选择。

未经允许不得转载:惠主机 » Bun:专为Linux用户提供更快的JavaScript运行时(runtime)