Cloudflare workers - 如何使用(起步篇)

Cloudflare workers - 如何使用(起步篇)

Cloudflare Workers 是一种基于 JavaScript 的无服务器计算平台,允许你在 Cloudflare 的边缘网络上运行代码,而无需管理传统的服务器基础设施。它能在全球范围内的 Cloudflare 数据中心上执行代码,以提供快速、低延迟的服务。

创建Cloudflare workers应用

  1. 安装wrangler

    1. 确保机器上安装了Node.js

    2. 使用npm安装wrangler

      1
      npm install -g wrangler

      或者使用yarn安装:

      1
      yarn global add wrangler
  2. 登录Cloudflare账号

    1. 执行命令:

      1
      wrangler login
    2. 在弹出的浏览器窗口中登录Cloudflare账户(这里可能需要一下特殊网络环境)

    3. 如果你使用powershell运行且提示:

      1
      2
      3
      4
      5
      6
      wrangler : 无法加载文件 F:\OtherApps\Program\Node\node-v16.13.1-win-x64\wrangler.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
      所在位置 行:1 字符: 1
      + wrangler
      + ~~~~~~~~
      + CategoryInfo : SecurityError: (:) [],PSSecurityException
      + FullyQualifiedErrorId : UnauthorizedAccess

      那么可以使用如下命令允许本地脚本运行,并要求从互联网下载的脚本必须有有效的签名:

      1
      Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

      如果希望恢复禁止所有脚本运行,可以使用如下命令恢复:

      1
      Set-ExecutionPolicy Restricted -Scope CurrentUser
  3. 创建Worker项目

    创建一个名为api的项目:

    1
    wrangler generate api

    这将会在当前目录下生成一个api文件夹,文件中中包含一个wrangler.toml文件:

    1
    2
    name = "api"
    compatibility_date = "2024-12-09"
  4. 编写Worker代码

    在生成的api文件夹下,创建index.js文件并写入以下内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    addEventListener('fetch', event => {
    event.respondWith(handleRequest(event.request))
    })

    async function handleRequest(request) {
    return new Response('Hello, world!', {
    headers: { 'content-type': 'text/plain' },
    })
    }

    编辑wrangler.toml,添加如下一行(设置入口点为index.js

    1
    main = "index.js"
  5. 开发和测试

    使用以下命令在本地开发和测试:

    1
    2
    cd api
    wrangler dev

    如果出现以下报错,请安装vc_redist最新版

    1
    2
    3
    4
    5
    6
    7
    8
    9
    X [ERROR] There was an access violation in the runtime.

    On Windows, this may be caused by an outdated Microsoft Visual C++ Redistributable library.
    Check that you have the latest version installed.
    See https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist.



    X [ERROR] The Workers runtime failed to start. There is likely additional logging output above.

    如果想在本地开发时直接使用生产环境中的D1数据库(Cloudflare D1),则需要wrangler dev --remote

  6. 部署到Cloudflare

    1
    wrangler deploy
  7. 拉取代码到本地

    如果在Cloudflare dashboard(网页端)对内容进行了修改,可执行以下命令将内容拉取到本地:

    1
    emm,似乎只能手动复制文件的到本地。。

End

The End, thanks!

原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/144488128


Cloudflare workers - 如何使用(起步篇)
https://blog.letmefly.xyz/2024/12/09/Other-CloudflareWorkers-How2use/
作者
Tisfy
发布于
2024年12月9日
许可协议