跳至主要内容

将 Deno 部署到 Cloudflare Workers

Cloudflare Workers 允许您在 Cloudflare 的边缘网络上运行 JavaScript。

这是一份关于将 Deno 函数部署到 Cloudflare Workers 的简短操作指南。

注意:您只能部署 模块工作者,而不是 Web 服务器或应用程序。

设置 denoflare

为了将 Deno 部署到 Cloudflare,我们将使用这个社区创建的 CLI denoflare

安装它:

deno install --unstable --allow-read --allow-net --allow-env --allow-run --name denoflare --force \
https://raw.githubusercontent.com/skymethod/denoflare/v0.5.11/cli/cli.ts

创建您的函数

在一个新目录中,让我们创建一个 main.ts 文件,它将包含我们的模块工作者函数

export default {
fetch(request: Request): Response {
return new Response("Hello, world!");
},
};

最少情况下,模块工作者函数必须 export default 一个对象,该对象公开一个 fetch 函数,该函数返回一个 Response 对象。

您可以通过运行以下命令在本地测试它

denoflare serve main.ts

如果您在浏览器中访问 localhost:8080,您将看到响应会显示

Hello, world!

配置 .denoflare

下一步是创建一个 .denoflare 配置文件。在其中,让我们添加

{
"$schema": "https://raw.githubusercontent.com/skymethod/denoflare/v0.5.11/common/config.schema.json",
"scripts": {
"main": {
"path": "/absolute/path/to/main.ts",
"localPort": 8000
}
},
"profiles": {
"myprofile": {
"accountId": "abcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"apiToken": "abcxxxxxxxxx_-yyyyyyyyyyyy-11-dddddddd"
}
}
}

您可以通过访问您的 Cloudflare 仪表板,点击“Workers”,并在右侧找到“帐户 ID”来找到您的 accountId

您可以从您的 Cloudflare API 令牌设置 生成 apiToken。当您创建 API 令牌时,请务必使用“编辑 Cloudflare Workers”模板。

在将两者都添加到您的 .denoflare 配置后,让我们尝试将其推送到 Cloudflare

denoflare push main

接下来,您可以在 Cloudflare 帐户中查看您的新函数

New function on Cloudflare Workers

太棒了!