好的,以下是使用 Cloudflare Workers 的详细介绍,从概念到部署,希望能帮助你入门:
关于 Cloudflare Workers
上期我已经介绍和对比了 Workers,没有看过的可以返回上期看一下。
传送门:https://www.cdsy.xyz/computer/recommend/250419/cd74134.html
准备工作


node -v
npm -v
出现版本号,证明安装成功:
C:\Users\User>node -v
v22.14.0
C:\Users\User>npm -v
11.3.0
npm install -g @cloudflare/wrangler 在 cmd 中输入:
wrangler -v 出现版本号,证明安装成功:
⛅️ wrangler 4.12.0 注意:如果出现以下内容则证明你已经安装过 wrangler ,你需要卸载,并再次安装。
C:\Users\User>npm install -g @cloudflare/wrangler
npm error code EEXIST
npm error path C:\Users\User\AppData\Roaming\npm\wrangler
npm error EEXIST: file already exists
npm error File exists: C:\Users\User\AppData\Roaming\npm\wrangler
npm error Remove the existing file and try again, or run npm
npm error with --force to overwrite files recklessly.
npm error A complete log of this run can be found in: C:\Users\User\AppData\Local\npm-cache\_logs\2025-04-18T12_56_53_179Z-debug-0.log 卸载命令:
npm uninstall -g @cloudflare/wrangler 卸载完成后,再次尝试安装。开发步骤:
请再次确认你有一个域名,并成功托管到cloudflare上,否则你将不能访问你的Workers。









wrangler login 这将在浏览器中打开 Cloudflare 登录页面,点击Allow,授权 wrangler 访问你的账户。

wrangler init my-worker
cd my-worker 这会创建一个名为 my-worker 的新目录,并初始化一个 Worker 项目。
Need to install the following packages:
create-cloudflare@2.44.1
Ok to proceed? (y) wrangler init 会提示你选择一个模板,可以选择 "hello-world" 或者其他合适的模板.键盘上下键切换,回车确定,一般直接用 Hello World Example,就可以






2.5. 如果你使用的是workers界面创建新项目,你需要根据文件树创建出最简项目框架。
文件树
./project
└─src
└─index.js
└─package.json
└─wrangler.toml
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});
async function handleRequest(request) {
return new Response('Hello Cloudflare Workers!', {
headers: { 'content-type': 'text/plain' },
});
}
wrangler dev 这会启动一个本地开发服务器,你可以在浏览器中访问 http://localhost:8787 来测试你的 Worker。 wrangler dev 会自动监视你的代码更改,并在你保存文件时自动重新加载。
name = "my-worker"
main = "src/index.js"
compatibility_date = "2023-04-01"
[vars]
MY_VARIABLE = "my_value"
[[d1_databases]]
binding = "DB" # 绑定 D1 数据库的名称
database_name = "logs" # 你的 D1 数据库名称
database_id = "" # 你的 D1 数据库 ID
wrangler deploy
部署成功后,wrangler 会输出 Worker 的 URL。
高级特性
kv_namespaces = [
{ binding = "MY_KV", id = "your-kv-namespace-id" }
] 你需要先在 Cloudflare 控制台中创建一个 KV 命名空间,并将其 ID 填入 your-kv-namespace-id 的位置。
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});
async function handleRequest(request) {
const value = await MY_KV.get("my_key");
return new Response(`Value from KV: ${value}`);
}重要提示
示例:简单的 API 网关
以下是一个简单的 API 网关示例,用于对 API 请求进行身份验证:
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});
async function handleRequest(request) {
const apiKey = request.headers.get('X-API-Key');
if (!apiKey || apiKey !== API_KEY) {
return new Response('Unauthorized', { status: 401 });
}
// Forward the request to the origin server
const url = new URL(request.url);
url.hostname = 'your-origin-server.com';
const modifiedRequest = new Request(url, request);
return fetch(modifiedRequest);
}
在这个例子中,我们首先检查请求头中是否存在 X-API-Key,并验证其是否与环境变量 API_KEY 的值匹配。如果验证失败,则返回一个 401 错误。如果验证成功,则将请求转发到源服务器。
总结
Cloudflare Workers 是一个功能强大的工具,可以用来构建各种各样的边缘应用程序。 通过合理利用 Workers,可以显著提升网站和应用的性能、安全性和可扩展性。 掌握本文介绍的基本概念和步骤,你就可以开始使用 Cloudflare Workers 来构建你自己的边缘应用程序了。记得查阅 Cloudflare 官方文档,深入了解更多高级特性和最佳实践。
关于D1数据库的使用,后续会再出一篇。
之后还会有项目讲解,本人现在正在做学校图书馆的网站(完全使用Cloudflare),完成后,这个项目的代码会放出来。如果对这个项目感兴趣的可以在社区私信我。

