# 指令
* [👯`generate`](https://developers.cloudflare.com/workers/tooling/wrangler/commands/#generate)
* [📥`init`](https://developers.cloudflare.com/workers/tooling/wrangler/commands/#init)
* [🦀⚙️`build`](https://developers.cloudflare.com/workers/tooling/wrangler/commands/#build)
* [🔧`config`](https://developers.cloudflare.com/workers/tooling/wrangler/commands/#config)
* [☁️🆙`publish`](https://developers.cloudflare.com/workers/tooling/wrangler/commands/#publish)
* [worker.dev](https://developers.cloudflare.com/workers/tooling/wrangler/commands/#publishing-to-workersdev)
* [注册域名](https://developers.cloudflare.com/workers/tooling/wrangler/commands/#publishing-to-your-own-domain)
* [多个域](https://developers.cloudflare.com/workers/tooling/wrangler/commands/#publishing-the-same-code-to-multiple-places)
* [👂`dev`](https://developers.cloudflare.com/workers/tooling/wrangler/commands/#dev-alpha-))
* [🔬`preview`](https://developers.cloudflare.com/workers/tooling/wrangler/commands/#preview)
* [使它与WSL一起使用](https://developers.cloudflare.com/workers/tooling/wrangler/commands/#making-preview-work-with-wsl2)
* [🗂️`kv`](https://developers.cloudflare.com/workers/tooling/wrangler/commands/#kv)
* [🤫`secret`](https://developers.cloudflare.com/workers/tooling/wrangler/commands/#secret)
### 生成
搭建一个项目,包括一个Rust库的样板和一个Cloudflare Worker。您可以选择将名称和模板传递给此命令。
~~~bash
wrangler generate <name> <template> --type=["webpack", "javascript", "rust"] --site
~~~
该命令的所有参数和标志都是可选的:
* `name`:默认为`worker`
* `template`:默认为[`https://github.com/cloudflare/worker-template`](https://github.com/cloudflare/worker-template)
* `type`:默认为[“ webpack”](https://developers.cloudflare.com/workers/tooling/wrangler/webpack)
* `--site`:从现有静态站点生成[工作者](https://developers.cloudflare.com/workers/sites)站点
### 在里面
`wrangler.toml`在现有目录中创建框架。`generate`如果您希望自己克隆存储库,则可以将其用作替代方法。
~~~bash
wrangler init <name> --type=["webpack", "javascript", "rust"] --site
~~~
此命令的所有参数和标志都是选项:
* `name`:默认为您的工作目录名称
* `type`:默认为[“ webpack”](https://developers.cloudflare.com/workers/tooling/wrangler/webpack)。
* `--site`:从现有静态站点生成[工作者](https://developers.cloudflare.com/workers/sites)站点
### 建立
建立您的专案。该命令查看您的`wrangler.toml`文件并运行与其中`"type"`声明的文件相关的构建步骤。
此外,您可以构建不同的环境。如果您针对不同的环境使用不同的版本,但通常不需要,这将很有用。有关更多信息,请参见[环境文档](https://developers.cloudflare.com/workers/tooling/wrangler/configuration/environments)。
### 配置
配置您的全局Cloudflare用户。这是一个交互式命令,将提示您输入API令牌:
~~~bash
wrangler config
Enter API token:
superlongapitoken
~~~
您还可以提供您的电子邮件和全局API密钥(出于安全原因,不建议这样做):
~~~bash
wrangler config --api-key
Enter email:
testuser@example.com
Enter global API key:
superlongapikey
~~~
您还可以[使用环境变量](https://developers.cloudflare.com/workers/tooling/wrangler/configuration/)来配置这些值。
### 发布
将您的Worker发布到Cloudflare。您的几个键`wrangler.toml`确定是发布到worker.dev子域还是通过Cloudflare代理的您自己的注册域。
~~~bash
wrangler publish
~~~
要使用此命令,您的中必须填写以下字段`wrangler.toml`。
| 键 | 值 | 例 |
| --- | --- | --- |
| 名称 | 你的工人的名字 | `name = "your-worker"` |
| 类型 | 构建类型(webpack,rust或javascript) | `type = "webpack"` |
| 帐户ID | 您的Cloudflare帐户ID,可以在Cloudflare信息中心中找到 | `account_id = "a655bacaf2b4cad0e2b51c5236a6b974"` |
在这里,您有两个选择,可以选择发布到自己的域,也可以选择发布到[\\ 。\\ .workers.dev](https://workers.dev/)。
#### 发布到worker.dev
如果要发布到[worker.dev](https://workers.dev/),则首先需要注册一个[worker.dev](https://workers.dev/)子域。您可以通过执行以下操作来注册子域:
~~~bash
wrangler subdomain <name>
~~~
注册子域后,将添加`workers_dev`到中`wrangler.toml`。
| 键 | 值 | 例 |
| --- | --- | --- |
| worker\_dev | 真正 | `workers_dev = true` |
#### 发布到您自己的域
如果您想发布到自己的域,则需要在中指定这三个字段`wrangler.toml`。
| 键 | 值 | 例 |
| --- | --- | --- |
| worker\_dev | 假 | `workers_dev = false` |
| 路线 | 您要发布到的路线 | `route = "example.com/my-worker/*"` |
| zone\_id | 您的Cloudflare区域ID,可以在Cloudflare信息中心中找到 | `zone_id = "b6558acaf2b4cad1f2b51c5236a6b972"` |
#### 将相同的代码发布到多个地方
如果您希望能够将代码发布到多个地方,请参阅[环境](https://developers.cloudflare.com/workers/tooling/wrangler/configuration/environments)文档。
### dev(alpha)
#### 免责声明
此功能仍处于Alpha状态!这个工具在未来的工作方式*将*发生变化,***谨慎行事***。
#### 用法
`wrangler dev`将在`localhost`连接到Cloudflare服务器的服务器上启动服务器,并在传入的HTTP请求上执行Worker。在`wrangler dev`包含项目的目录中启动后,可以向其发送HTTP请求,以使用诸如cURL,Postman或浏览器之类的客户端测试Worker。
您应该`wrangler dev`从Worker目录运行,并且如果Worker向后端发出任何请求,则应使用指定主机`--host example.com`。
您可以从此处将HTTP请求发送到,`localhost:8787`并且您的工作程序应按预期执行。您还将在终端中看到console.log消息和异常。如果这两种情况*均未*发生,或者您认为输出不正确,请[提出问题](https://github.com/cloudflare/wrangler)。
如果您有任何反馈意见`wrangler dev`或一般性问题,我们将[在此处](https://github.com/cloudflare/wrangler/issues/1047)回复。
### 预习
使用[Cloudflare Workers预览服务](https://cloudflareworkers.com/)预览项目。
默认情况下,`wrangler preview`仅将您的项目捆绑一次。要启用实时预览(牧马人将使用项目的最新版本不断更新预览服务),请传递该`--watch`标志:
~~~bash
wrangler preview --watch
~~~
您可以选择将`get`或`post`和传递`body`给此命令。这将向预览服务上的工作人员发送请求,并在终端中返回响应。例如:
GET请求可以通过
~~~bash
wrangler preview
~~~
要么
~~~bash
wrangler preview get
~~~
POST请求可以通过以下方式发送
~~~bash
wrangler preview post hello=hello
~~~
此外,您可以预览不同的环境。如果您针对不同的环境(例如暂存与生产)具有不同的构建,则这很有用,但通常不需要。有关更多信息,请参见[环境文档](https://developers.cloudflare.com/workers/tooling/wrangler/configuration/environments)。
#### 在Linux的Windows子系统上预览(WSL 1/2)
##### 将$ BROWSER设置为浏览器二进制文件
WSL是Linux环境,因此`wrangler`尝试进行调用`xdg-open`以打开浏览器。要`wrangler preview`使用WSL,您应该将自己设置`$BROWSER`为浏览器二进制文件的路径。
例如。`$ export BROWSER='/mnt/c/tools/firefox.exe'`文件路径中的空格在Linux中并不常见,并且某些程序(如[带空格的路径)](https://github.com/microsoft/WSL/issues/3632#issuecomment-432821522)`xdg-open`中断。您可以通过将二进制文件链接到来解决此问题。[](https://github.com/microsoft/WSL/issues/3632#issuecomment-432821522)`/usr/local/bin`
例如。$ ln -s'/ mnt / c / Program Files / Mozilla Firefox / firefox.exe'firefox $ export BROWSER = firefox
##### 将$ BROWSER设置为`wsl-open`
另一种选择是安装[wsl-open](https://github.com/4U6U57/wsl-open#standalone),然后通过将`$BROWSER`env变量设置为。这保证了使用时,它试图打开你的浏览器。`wsl-open``wsl-open -w``xdg-open``wsl-open`
如果您使用的是WSL 2,则需要`wsl-open`通过其[独立方法](https://github.com/4U6U57/wsl-open#standalone)而非通过进行安装`npm`。这是因为尚未通过WSL 2支持对其npm软件包进行更新。
### KV
与您的Cloudflare Workers KV store 进行交互。[查看文档。](https://developers.cloudflare.com/workers/tooling/wrangler/kv_commands)
### 秘密
与您的秘密互动。[查看文档。](https://developers.cloudflare.com/workers/tooling/wrangler/secrets)
- 关于本翻译文档
- 快速开始
- 模版库
- 讲解
- Workers页面
- 从0开始
- 从已有页面开始
- 从已有Worder开始
- 工具
- Cli工具 wrangler
- 安装
- 指令
- 配置
- 环境
- Webpack
- 密钥
- KV
- 网站
- Playground
- ServerLess插件
- Terraform
- REST API
- Making Requests
- Scripts
- Bindings
- Routes
- Integrations
- 相关
- 工作原理
- 安全
- 使用缓存
- 价格
- Routes
- Limits
- 提示
- 调试技巧
- 调试header
- FetchEvent生命周期
- 请求上下文
- 请求sign
- 参考
- runtime API
- Web Standards
- fetch
- fetchEvent
- Response
- Request
- KV
- Environment Variables
- Streams
- Encoding
- Web Crypto
- Cache API
- HTMLRewriter
- Workers KV
- Use cases
- Namespaces