Bun:为Linux用户提供更快的JavaScript Runtime

Bun:为Linux用户提供更快的JavaScript Runtime

Bun是一个现代化的JavaScript运行时,旨在简化并加速 JavaScript 和 TypeScript 应用的开发。与传统运行时不同,Bun 将多种工具整合为一个统一的套件,包括打包器、测试运行器以及兼容 Node.js 的包管理器。

Bun 的主要功能

1. 高性能

Bun 基于 JavaScriptCore 构建——这也是 Safari 浏览器的引擎,确保了应用快速启动和高效运行。

2. 全面的工具包

Bun 提供了一站式解决方案,包括用于打包代码的打包器、用于代码可靠性的测试运行器,以及兼容 Node.js 的包管理器,大幅简化开发流程。

3. Node.js 兼容性

Bun 旨在作为 Node.js 的替代品,支持 Node.js 的模块解析算法,并兼容内置模块(如 `fs` 和 `path`)。

4. 对 TypeScript 和 JSX 的一流支持

Bun 支持直接运行 `.ts` 和 `.tsx` 文件,同时遵循 `tsconfig.json` 的设置。此外,Bun 内部将 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入门

安装完成后,您可以快速创建一个新项目目录并开始构建应用:

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

然后,使用 Bun 初始化项目。它会提示您回答几个问题来设置项目,可以直接按回车接受默认值。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`。

在浏览器中访问 [http://localhost:3000](http://localhost:3000) 即可查看服务器的响应。

使用 Bun 管理包

可以通过以下命令向项目添加新包。Bun 会安装指定的包并更新 `package.json`,同时将依赖项管理在 `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

如果需要从系统中移除 Bun,可以使用以下命令:

rm -rf ~/.bun

Bun 是一个强大且高效的 JavaScript 运行时,将多个工具整合到一个平台中,大幅简化了开发过程。

其高性能、Node.js 兼容性,以及对 TypeScript 和 JSX 的一流支持,使 Bun 成为寻求现代化和简化开发体验的开发者的理想选择。

未经允许不得转载:A5数据 » Bun:为Linux用户提供更快的JavaScript Runtime

相关文章

contact