企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
# 配置 * [全球用户](https://developers.cloudflare.com/workers/tooling/wrangler/configuration#global-user) * [使用环境变量](https://developers.cloudflare.com/workers/tooling/wrangler/configuration#using-environment-variables) * [每个项目](https://developers.cloudflare.com/workers/tooling/wrangler/configuration#per-project) `wrangler`使用两种类型的配置:全局用户和每个项目。 ### 全球用户 在Cloudflare的系统中,您拥有一个可以具有多个帐户和区域的用户。结果,在您的计算机上全局配置了您的用户。您的帐户和区域将针对每个项目进行配置,但将使用您的用户凭据来验证所有API调用。此配置文件是在`.wrangler`计算机主目录中的目录中创建的。 要设置`wrangler`为与您的Cloudflare用户一起使用,请使用以下命令: * 🔧`config`:提示您输入`email`和`api`键的命令。 * `whoami`:️♀️:运行此命令以确认您的配置正确设置。成功后,此命令将打印出您的用户信息,包括您当前使用的计划的类型。 #### 使用环境变量 您还可以使用环境变量配置全局用户。这是在CI中使用Wrangler的首选方法。 您可以使用身份验证令牌进行部署(推荐): ~~~bash # e.g. CF_ACCOUNT_ID=youraccountid CF_API_TOKEN=superlongapitoken wrangler publish # where # $CF_API_TOKEN -> a Cloudflare API token ~~~ 或者,您可以使用电子邮件和全局API密钥进行部署: ~~~bash # e.g. CF_EMAIL=testuser@example.com CF_API_KEY=superlongapikey wrangler publish # where # $CF_EMAIL -> your Cloudflare account email # $CF_API_KEY -> your Cloudflare API key ~~~ 请注意,通过环境变量提供身份验证凭据将覆盖您在运行时配置的所有凭据`wrangler config`。 ### 每个项目 在发布工作人员之前,您的项目将需要配置一些内容。这些值存储在适合您的`wrangler.toml`文件中`wrangler generate`。在发布之前,您将需要手动编辑此文件以添加这些值。 * `name`:这是您的项目的名称。这将是脚本的名称。 * `type`:此键告诉`wrangler build`您如何构建您的项目。当前有三个选项(`webpack`,`javascript`和`rust`),但是随着社区的发展,我们希望会有更多选择。 * `javascript`\*:此项目包含一个在`package.json`的`main`键中定义的JavaScript文件。 * `rust`:该项目包含一个使用的Rust板条箱`wasm-bindgen`。它将使用构建`wasm-pack`。 * `webpack`\*:此项目包含可编译为WebAssembly的任意数量的JavaScript文件或Rust / C / C ++文件。Rust文件将使用构建`wasm-pack`。此项目类型在后台使用webpack和webpack插件来构建工作程序。您可以[在此处](https://developers.cloudflare.com/workers/tooling/wrangler/webpack)阅读有关此类型的更多信息。*\*注意:所有Javscript和webpack项目都必须包含package.json* * `zone_id`:这是您要在其上运行脚本的“区域”或域的ID。如果您正在使用[worker.dev](https://workers.dev/)子域,则这是可选的,并且仅在`workers_dev`为false或从[环境](https://developers.cloudflare.com/workers/tooling/wrangler/configuration/environments)配置中排除时才需要。也可以通过`CF_ZONE_ID`环境变量指定它。 * `account_id`:这是与您的区域关联的帐户的ID。您可能拥有多个帐户,因此`zone_id`,如果您提供了一个帐户,请确保使用与您提供的帐户关联的ID。也可以通过`CF_ACCOUNT_ID`环境变量指定它。 * `route`:这是您要使用其工作人员的路线。您需要包括主机名。例子: * `*example.com/*` * `http://example.com/hello` 如果您正在使用[worker.dev](https://workers.dev/)子域,则此密钥是可选的,并且只有在`workers_dev`为false或从[环境中](https://developers.cloudflare.com/workers/tooling/wrangler/configuration/environments)排除时才需要。 * `webpack_config`:这是您的工作人员自定义Webpack配置文件的路径。您必须指定此字段以使用自定义Webpack配置,否则Wrangler将为您使用默认配置。您可以[在这里](https://developers.cloudflare.com/workers/tooling/wrangler/webpack)阅读更多内容。 * `workers_dev`:这是一个布尔型标志,用于指定是否将您的工作程序部署到[worker.dev](https://workers.dev/)子域。有关更多信息,请阅读[环境文档](https://developers.cloudflare.com/workers/tooling/wrangler/configuration/environments)。 * `vars`:一个对象,其中包含可以在Worker脚本中直接访问的文本变量。 ~~~toml vars = { FOO = "0f2ac74b498b48028cb68387c421e279", BAR = "068c101e168d03c65bddf4ba75150fb0" } ~~~ 注意:使用机密应使用[牧马人机密](https://developers.cloudflare.com/workers/tooling/wrangler/secret/)处理。`vars`您的定义中`wrangler.toml`不得包含换行符,以确保有效的TOML。 * `kv-namespaces`:这些指定您要从Worker内部访问的所有Worker[KV](https://developers.cloudflare.com/workers/reference/storage/)命名空间。您包括的每个名称空间都应在`wrangler.toml`其中包含一个条目,其中包括: * `binding`:您要在脚本中绑定的名称 * `id`:创建时分配给您的KV命名空间的namespace\_id。 例如: ~~~toml kv-namespaces = [ { binding = "FOO", id = "0f2ac74b498b48028cb68387c421e279" }, { binding = "BAR", id = "068c101e168d03c65bddf4ba75150fb0" } ] ~~~ 注意:应该使用Wrangler的[KV命令](https://developers.cloudflare.com/workers/tooling/wrangler/kv_commands)处理创建KV命名空间。 #### 环境环境 此外,您可以配置Wrangler以发布到多个环境。这意味着您可以将同一代码库跨多个帐户,区域和路由部署到[worker.dev](https://workers.dev/)子域上的多个位置。[在这里](https://developers.cloudflare.com/workers/tooling/wrangler/configuration/environments)阅读更多。