跳转到内容
搜索文档

环境

最后更新 查看 MarkdownAgent 设置

环境提供隔离空间,您的代码在特定依赖和配置下运行。这可用于多种原因,如兼容性测试或版本管理。使用不同环境有助于代码一致性、测试和生产隔离,降低部署代码时的错误风险。

Wrangler 环境

Wrangler 允许您为每个环境部署具有不同配置的同一 Worker 应用。

如果您使用 Wrangler 环境,必须为每个环境指定要使用的 Durable Object 绑定

Durable Object 绑定不会继承。例如,您可以如下定义名为 staging 的环境:

{
	"env": {
		"staging": {
			"durable_objects": {
				"bindings": [
					{
						"name": "EXAMPLE_CLASS",
						"class_name": "DurableObjectExample"
					}
				]
			}
		}
	}
}
[[env.staging.durable_objects.bindings]]
name = "EXAMPLE_CLASS"
class_name = "DurableObjectExample"

由于 Wrangler 在发布时将环境名称附加到顶层名称,对于名为 worker-name 的 Worker,上述示例等效于:

{
	"env": {
		"staging": {
			"durable_objects": {
				"bindings": [
					{
						"name": "EXAMPLE_CLASS",
						"class_name": "DurableObjectExample",
						"script_name": "worker-name-staging"
					}
				]
			}
		}
	}
}
[[env.staging.durable_objects.bindings]]
name = "EXAMPLE_CLASS"
class_name = "DurableObjectExample"
script_name = "worker-name-staging"

staging 环境中的 "EXAMPLE_CLASS" 绑定到与顶层 "EXAMPLE_CLASS" 绑定不同的 Worker 代码名称,因此将访问具有不同持久存储的不同 Durable Objects。

如果您想要访问与顶层绑定相同 Objects 的环境特定绑定,请使用 script_name 显式指定顶层 Worker 代码名称:

{
	"env": {
		"another": {
			"durable_objects": {
				"bindings": [
					{
						"name": "EXAMPLE_CLASS",
						"class_name": "DurableObjectExample",
						"script_name": "worker-name"
					}
				]
			}
		}
	}
}
[[env.another.durable_objects.bindings]]
name = "EXAMPLE_CLASS"
class_name = "DurableObjectExample"
script_name = "worker-name"

迁移环境

您可以为每个环境以及顶层定义 Durable Object 迁移。环境级迁移覆盖顶层迁移。

有关更多信息,请参阅迁移 Wrangler 配置

本地开发

本地开发会话创建独立的、仅本地的环境,镜像生产环境,以便在部署到生产之前测试 Worker 和 Durable Objects。

DB 的现有 Durable Object 绑定在本地运行时对 Worker 可用。

请参阅 Workers 本地开发

远程开发

KV 支持的 Durable Objects 支持使用仪表板 playground 进行远程开发。仪表板 playground 使用浏览器版 Visual Studio Code,允许您完全在浏览器中快速迭代 Worker。

要开始远程开发:

  1. 在 Cloudflare 仪表板中,进入 Workers & Pages 页面。

    Go to Workers & Pages ↗
  2. 选择现有 Worker。

  3. 选择屏幕右上角的 Edit code(编辑代码) 图标。

这篇文档对您有帮助吗?