50个稳定版本

1.21.0 2023年2月21日
1.19.13 2022年9月7日
1.19.12 2022年4月21日
1.19.11 2022年3月22日
0.1.0 2019年3月28日

40 in #cloudflare-workers

Download history 78/week @ 2024-03-11 117/week @ 2024-03-18 38/week @ 2024-03-25 125/week @ 2024-04-01 51/week @ 2024-04-08 47/week @ 2024-04-15 79/week @ 2024-04-22 23/week @ 2024-04-29 69/week @ 2024-05-06 63/week @ 2024-05-13 48/week @ 2024-05-20 53/week @ 2024-05-27 48/week @ 2024-06-03 38/week @ 2024-06-10 93/week @ 2024-06-17 41/week @ 2024-06-24

每月223次下载
3 个crate中使用 (通过 kv-assets)

MIT/Apache

1MB
14K SLoC

🤠 wrangler

🛑 此仓库用于 Wrangler 版本 1,现已弃用且不再更新。

Wrangler 的新版本维护在 Workers SDK 仓库 中。


旧版文档

Banner

crates.io   npm   GitHub Actions - 测试状态   GitHub Actions - 代码检查状态  

wrangler 是一个CLI工具,专为对使用 Cloudflare Workers 感兴趣的人设计。

Wrangler Demo

安装

您有多个选项可以安装wrangler!

有关最新版本,请参阅 https://github.com/cloudflare/workers-sdk

使用 npm 安装

我们强烈建议您使用类似 nvm 的 Node 版本管理器安装 npm,这样可以将全局的 node_modules 放在您的家目录中,以消除使用 npm install -g 时出现的权限问题。分发的 npm 通常使用 /usr/lib/node_modules(即 root)作为全局安装的 npm 包的位置,并以 root 身份运行 npm install -g 会阻止 wrangler 正确安装。

一旦您安装了 nvm 并配置您的系统使用 nvm 管理的 Node 安装,运行

npm i @cloudflare/wrangler -g

如果您正在运行基于 ARM 的系统(例如 Raspberry Pi、Pinebook),则需要使用以下列出的 cargo 安装方法从源代码构建 wrangler。

指定二进制位置

如果您需要将 wrangler 的 npm 安装程序放置在非默认位置(例如在 CI 中使用 wrangler 时),您可以使用以下配置选项来指定安装位置

  • 环境变量:WRANGLER_INSTALL_PATH
  • NPM 配置:wrangler_install_path

指定二进制站点 URL

如果您需要在本地存储/镜像二进制文件,则需要指定 wrangler 应在何处搜索它们,通过提供以下任一项

  • 环境变量:WRANGLER_BINARY_HOST
  • NPM 配置:wrangler_binary_host

使用 cargo 安装

cargo install wrangler

如果您还没有安装 cargonpm,您需要遵循以下 附加说明

在 Windows 上安装

Perl 是 crate openssl-sys 的外部依赖。如果您使用 cargo 安装 wrangler,则需要安装 Perl。我们已经测试了 Strawberry Perl。如果您通过 scoop 安装 Perl,您可能还需要运行 scoop install openssl 以获取必要的 openssl dlls。如果您不想安装 Perl,也可以选择使用 npm 而不是 cargo 安装 wrangler。

更新

有关更新 Wrangler 的信息,请点击 此处

入门

安装 Wrangler 后,启动和部署您的第一个 Worker 非常简单!

$ wrangler generate my-worker
$ cd my-worker
# update your wrangler.toml with your Cloudflare Account ID
$ wrangler config
$ wrangler publish

🎙️ 最高级命令

👯 generate

构建一个项目,包括 Rust 库和 Cloudflare Worker 的样板代码。

wrangler generate <name> <template> --type=["webpack", "javascript", "rust"]

此命令的所有参数和标志都是可选的

📥 init

在现有目录中创建一个 wrangler.toml 的骨架。如果您喜欢自己克隆存储库,则可以使用此作为 generate 的替代方案。

wrangler init <name> --type=["webpack", "javascript", "rust"]

此命令的所有参数和标志都是可选的

  • name:默认为您的当前工作目录的名称
  • 类型:默认为 "webpack"

🦀⚙️ build

构建你的项目。此命令会查看你的 wrangler.toml 文件,并运行与之关联的 "类型"

此外,你还可以配置不同的 环境

🔓 login

使用你的 Cloudflare 登录授权 Wrangler。此操作将弹出一个 Cloudflare 账户登录页面和一个权限同意页面。此命令是 wrangler config 的替代品,并使用 OAuth 令牌。

wrangler login --scopes-list --scopes <scopes>

此命令的所有参数和标志都是可选的

  • scopes-list:列出所有可用的 OAuth 权限范围及其描述。
  • scopes:允许你选择你的 OAuth 权限范围集合。

更多关于此命令的信息,请参阅 Wrangler 登录文档

🔧 config

使用 Cloudflare API 令牌验证 Wrangler。这是一个交互式命令,会提示你输入你的 API 令牌

wrangler config
Enter API token:
superlongapitoken

你也可以提供你的电子邮件和全局 API 密钥(出于安全原因不推荐这样做)

wrangler config --api-key
Enter email:
[email protected]
Enter global API key:
superlongapikey

你还可以 使用环境变量 来配置这些值。

☁️ 🆙 publish

将你的 Worker 发布到 Cloudflare。你的 wrangler.toml 文件中的几个键决定你是否要将内容发布到 workers.dev 子域名或你的已注册域名(通过 Cloudflare 代理)。

此外,你还可以配置不同的 环境

你还可以使用环境变量来处理发布 Worker 时的身份验证。

# e.g.
CF_API_TOKEN=superlongtoken wrangler publish
# where
# $CF_API_TOKEN -> your Cloudflare API token

CF_API_KEY=superlongapikey [email protected] wrangler publish
# where
# $CF_API_KEY -> your Cloudflare API key
# $CF_EMAIL -> your Cloudflare account email

🗂 kv

与你的 Workers KV 存储交互。这实际上是一套子命令。更多关于 Wrangler KV 文档

👂 dev

wrangler devwrangler preview 工作方式非常相似,不同之处在于它不会打开浏览器来预览你的 Worker,而是在 localhost 上启动一个服务器,该服务器将在传入的 HTTP 请求上执行你的 Worker。从那里,你可以使用 cURL、Postman、你的浏览器或任何其他 HTTP 客户端来测试发布之前 Worker 的行为。

你应该从你的 Worker 目录中运行 wrangler dev,如果你的 Worker 向后端发送任何请求,你应该使用 --host example.com 指定主机。

从这里,你应该能够向 localhost:8787 发送 HTTP 请求,包括任何头信息和路径,你的 Worker 应该按预期执行。此外,你应该在你的终端中看到 console.log 消息和异常。

👂 Listening on https://127.0.0.1:8787
[2020-02-18 19:37:08] GET example.com/ HTTP/1.1 200 OK

此命令的所有参数和标志都是可选的

  • env:要构建的环境
  • host:在 Worker 后面测试的域名。默认为 example.com
  • ip:要监听的 IP。默认为 localhost
  • port:要监听的端口。默认为 8787

其他文档

有关 wrangler 或 Cloudflare Workers 的所有信息都位于 Cloudflare Workers 开发者文档 中。这包括

  • 使用 wrangler 命令
  • Wrangler 配置
  • 围绕 Workers 开发的通用文档
  • 所有 wrangler 功能,如 Workers Sites 和 KV

✨Workers Sites

有关使用 wrangler 部署静态资源的说明,请参阅 Workers Sites 快速入门

依赖关系

~46–66MB
~1.5M SLoC