【Cloudflare系列教程】在本地管理你的 worker

引子

最近在写worker时写了很多bug,因为worker部署在边缘节点上,看不到调试日志,有时候我还得转成node.js本地跑一下来测试,这显然是不正常的做法,但是我就这么做了,最近写ai-pro的时候需要用到KV,转node.js是不现实了,于是才自己找了下解决方案,特书如下:

简单上手

安装 wrangler

需要您先配置好nodejs环境

npm install -g @cloudflare/wrangler

用户认证

wrangler login

如果您的系统支持网页浏览就输 y 按提示操作,否则输 n 输入密钥,密钥可以在你的 API-Tokens 界面创建,注意选择 编辑 Cloudflare Worker 这一项

新建项目

创建项目

mkdir worker-test && cd worker-test && npm init -y

编辑项目

vi index.js

把您写好的worker粘贴进去

配置项目

vi wrangler.toml 

写入以下行

name = "worker-test"
type = "javascript"
zone_id = "YOUR_ZONE_ID"
account_id = "YOUR_ACCOUNT_ID"
workers_dev = true
kv_namespaces = [
  { binding = "YOUR_KV_NAME", id = "YOUR_KV_ID" }
]

compatibility_date = "2024-04-27"
  • name

    是您需要创建的worker名字

  • zone_id

    即区域ID,可在网站概述页右下角查看

  • account_id

    即账户ID,是您访问cf的dashboard时 .com/ 后面紧跟的一串 id,同样可在网站概述页查看

  • kv_namespaces = [ { binding = "YOUR_KV_NAME", id = "YOUR_KV_ID" } ]

    可选项,不需要KV可删除,两个变量对应KV名和id,需要您在dashboard创建KV后填写,您可以在KV标签找到他们

测试

在部署前先测试通过后再进行后续操作

注意:worker免费计划每天只有1000次写入

wrangler preview

发布

wrangler publish

发布后您就可以在dashboard查看您的项目了

查看日志

wrangler tail

该命令的输出并不适合人类直接阅读,建议使用json工具格式化后食用,我比较喜欢用这个站

参考链接

16 个赞

官方提供的调试工具终于有人想起来了(

2 个赞

来学习

1 个赞

好高深

3 个赞

说实话昨天刚看了怎么本地跑worker今天就有教程了,真是巧 :joy:

1 个赞

写worker的时候确实调试相当麻烦,我之前也一直是转node js本地验证过才上worker,确实感觉怪抽象的 :joy:,感谢分享

1 个赞

我居然不是一个人 :rofl:

2 个赞

我是直接在cf上写,然后看报错,直接在上面改,后来发现有文档,就学了一下,我以为大家都知道在本地管理worker的呢

1 个赞

万事皆可docker​:grinning:

1 个赞

坛除我佬~

1 个赞

你们才发现吗 我以为是基操

初次之外,wrangler还可以发布cf pages,可以集成到CI/CD

支持cf warngler系列教程,现在github好多都是得自己用这个推了

我都调试不起来

估计你配置不对咯

1 个赞

太强了佬