将 Deno 部署到 Cloudflare Workers
Cloudflare Workers 允许你在 Cloudflare 的边缘网络上运行 JavaScript。
这是一个关于将 Deno 函数部署到 Cloudflare Workers 的简短操作指南。
注意:你只能部署模块化 Workers,而不是 Web 服务器或应用。
设置 denoflare
Jump to heading
为了将 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
创建你的函数 Jump to heading
在一个新目录中,让我们创建一个 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
Jump to heading
下一步是创建一个 .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 仪表板中找到你的 accountId
,点击 “Workers”,然后在右侧找到 “Account ID”。
你可以从你的 Cloudflare API Tokens 设置中生成一个 apiToken
。当你创建一个 API 令牌时,请务必使用 “Edit Cloudflare Workers” 模板。
在你将两者添加到你的 .denoflare
配置后,让我们尝试将其推送到 Cloudflare
denoflare push main
接下来,你可以在你的 Cloudflare 账户中查看你的新函数
成功!