将 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 帐户中查看你的新函数
成功!