跳到主要内容

如何在 Deno 中使用 Express

Express 是一个流行的 Web 框架,以简单和不带偏见而闻名,拥有大规模的中间件生态系统。

本教程将向您展示如何使用 Express 和 Deno 创建一个简单的 API。

在此查看源代码

创建 main.ts

让我们创建 main.ts

touch main.ts

main.ts 中,让我们创建一个简单的服务器:

// @deno-types="npm:@types/express@4.17.15"
import express from "npm:express@4.18.2";

const app = express();

app.get("/", (req, res) => {
res.send("欢迎来到恐龙 API!");
});

app.listen(8000);

让我们运行这个服务器:

deno run -A main.ts

并将浏览器指向 localhost:8000。您应该会看到:

欢迎来到恐龙 API!

添加数据和路由

下一步是添加一些数据。我们将使用从 这篇文章 中找到的恐龙数据。随时从 这里复制

让我们创建 data.json

touch data.json

并粘贴恐龙数据。

接下来,让我们将该数据导入 main.ts。在文件的顶部添加以下行:

import data from "./data.json" assert { type: "json" };

然后,我们可以创建用于访问该数据的路由。为了保持简单,让我们只为 /api//api/:dinosaur 定义 GET 处理程序。在 const app = express(); 行之后添加以下内容:

app.get("/", (req, res) => {
res.send("欢迎来到恐龙 API!");
});

app.get("/api", (req, res) => {
res.send(data);
});

app.get("/api/:dinosaur", (req, res) => {
if (req?.params?.dinosaur) {
const found = data.find((item) =>
item.name.toLowerCase() === req.params.dinosaur.toLowerCase()
);
if (found) {
res.send(found);
} else {
res.send("未找到恐龙。");
}
}
});

app.listen(8000);

让我们使用 deno run -A main.ts 运行服务器,并查看 localhost:8000/api。您应该会看到恐龙列表:

[
{
"name": "Aardonyx",
"description": "蜥脚类恐龙演化早期的阶段。"
},
{
"name": "Abelisaurus",
"description": "从单一颅骨重建的\"阿贝尔蜥蜴\"。"
},
{
"name": "Abrictosaurus",
"description": "异齿龙的早期亲属。"
},
...

当我们访问 localhost:8000/api/aardonyx 时:

{
"name": "Aardonyx",
"description": "蜥脚类恐龙演化早期的阶段。"
}

太棒了!