跳到主要內容

將 Deno 部署到 Cloudflare Workers

Cloudflare Workers 讓您在 Cloudflare 的邊緣網路執行 JavaScript。

這是關於部署 Deno 函式到 Cloudflare Workers 的簡短操作指南。

注意:您只能部署 模組 Workers,而不是網路伺服器或應用程式。

設定 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 Tokens 設定 產生一個 apiToken。當你建立一個 API token 時,請務必使用「編輯 Cloudflare Workers」範本。

在你將兩者都新增到你的 .denoflare 設定後,讓我們嘗試將它推送到 Cloudflare

denoflare push main

接著,你可以在你的 Cloudflare 帳戶中檢視你的新函式

New function on Cloudflare Workers

太棒了!