跳至主要内容
本页内容

将 Deno 部署到 Cloudflare Workers

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

这是关于将 Deno 函数部署到 Cloudflare Workers 的简短入门指南。

注意:您只能部署 模块化 Worker,而不是 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 文件,其中将包含我们的模块化 Worker 函数

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

最少情况下,模块化 Worker 函数必须 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

太棒了!