本页内容

将 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

成功!