如何通过cloudflare的worker处理复杂后台逻辑

前提准备

  • 建站:一系列准备工作可看另一篇我的建站指南
  • 需要本地安装node

新建worker

  • 在cloudflare的首页,点击[Workers & Pages]
  • 选择[create application]
  • 点击[create worker]
  • 输入Name,点击Deploy

部署代码到worker

获取API KEY

  • 登录cloudflare后台,点击用户头像 -〉点击My Profile
  • 选择API Tokens -〉Create Token
  • 选择Edit Cloudflare Workers这一栏,点击Use template
  • 正常情况下API权限已经按照模版配置好了,不用修改,如需微调,参考API文档
  • 编辑Account Resources和Zone Resources指向你的账号和域名
  • 点击Continue to summary,下一步点击Create Token
  • 此时出现API token和用法示例,注意,立刻保存这个token,后续你将无法再找到

安装wrangler

wrangler 是cloudflare官方的一个部署包,可以方便的将你的较复杂的后台node代码部署到指定的router上。

  • 安装命令
    1
    npm install -g wrangler
  • 检查版本
    1
    wrangler --version

初始化代码

wrangler 有一系列的模版代码,通过命令npx wrangler generate [your-app-name] [modle-name]可以轻松构建一个可部署的wrangler项目

  • 构建router
    1
    npx wrangler generate my-app worker-router
  • 构建测速项目
    1
    npx wrangler generate my-app worker-speedtest
  • sentry错误跟踪
    1
    npx wrangler generate my-app mhart/cf-sentry
    还有很多,不一一列举了,可以去cloudflare的模版代码库找。

在初始化的项目里就可以构建你的后台逻辑了。

编辑配置文件

  • 在生成的wrangler.toml文件中,进行如下配置
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ## 部署的worker名称
    name = "example"
    ## 项目主页
    main = "index.js"
    ## 兼容性日期,可以不动
    ## 根据[说明](https://developers.cloudflare.com/workers/platform/compatibility-dates/),最好实时更新到最新日期,以支持最新的cloudflare功能
    compatibility_date = "2023-07-10"

    # 从cloudflare后台,进入你的网站,右下角可以看到Account ID
    account_id="your_acount_id"
    # 是否部署到cloudflare的dev域名
    workers_dev = false
  • 在项目中创建.env文件
  • 创建环境变量CLOUDFLARE_API_TOKEN=<YOUR_API_TOKEN_VALUE>,将之前获取到的API_TOKEN写入

部署

  • 配置好上述环境变量后,就可以直接运行wrangler deploy进行部署
  • 也可以运行CLOUDFLARE_API_TOKEN=XXX wrangler deploy手动指定环境变量