Bun 是与 Node 和 Deno 竞争的新 JavaScript 运行环境,具有更快的速度和其他一些特性。本文将介绍如何使用 Bun 创建完整的 API。
Bun.js 是一种新的 JavaScript 运行环境,与 Node.js 和 Deno 相似,但速度更快、更独立。它采用快速的底层语言 Zig 编写,并利用了为 Safari 等 Webkit 浏览器提供支持的 JavaScriptCore Engine。Zig 与 JavaScriptCore 引擎的结合使 Bun 成为速度最快的 JavaScript 运行时之一。
此外,Bun 不仅仅是一个运行环境。它还是软件包管理器、测试运行程序和打包程序。在本教程中,您将学习如何使用 Elysia、PostgreSQL 和 Prisma 通过 Bun 创建一个简单的配方分享API。
设置开发环境
要使用 Bun,首先要在系统中安装它。运行以下命令将 Bun 安装到 macOS、Linux 或 Windows Subsystem for Linux (WSL)。
curl -fsSL https://bun.sh/install | bash
目前,Bun 仅有一个用于 Windows 的实验版本,仅支持运行时。
安装 Bun 后,运行下面的命令创建并 cd
到项目目录:
mkdir recipe-sharing-api && cd recipe-sharing-api
接下来,运行下面的命令初始化一个新的 Bun 应用程序:
bun init
上述命令将提示您输入应用程序的软件包名称和入口点。您可以按 ENTER 键选择默认值,如下图所示。
当前目录应该如下图所示。
接下来,运行下面的命令安装所需的依赖项:
bun add elysia @elysiajs/cookie prisma @prisma/client dotenv pg jsonwebtoken@8.5.1
运行安装相应类型:
bun add -d @types/jsonwebtoken
您安装的依赖项是:
- Elysia:Elysia 是 Bun 的网络框架,可简化与 Bun 的协作,类似于 Express 对 Node.js 的作用。
- Prisma:Prisma 是 JavaScript 和 TypeScript 的对象关系映射器(ORM)。
- Dotenv:Dotenv 是一个 NPM 软件包,用于将
.env
文件中的环境变量加载到process.env
中。 - PG:PG 是 PostgreSQL 的本地驱动程序。
- jsonwebtoken@8.5.1: 实现 JWT 标准(8.5.1 版)的软件包。
设置数据库
食谱分享 API 将涉及三个表:Recipes, Users, 和 Comments。用户可以创建和分享菜谱,