wrangler
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseWrangler CLI
Wrangler CLI
Deploy, develop, and manage Cloudflare Workers and associated resources.
用于部署、开发和管理Cloudflare Workers及相关资源。
FIRST: Verify Wrangler Installation
第一步:验证Wrangler安装
bash
wrangler --version # Requires v4.x+If not installed:
bash
npm install -D wrangler@latestbash
wrangler --version # Requires v4.x+如果未安装:
bash
npm install -D wrangler@latestKey Guidelines
核心指南
- Use : Prefer JSON config over TOML. Newer features are JSON-only.
wrangler.jsonc - Set : Use a recent date (within 30 days). Check https://developers.cloudflare.com/workers/configuration/compatibility-dates/
compatibility_date - Generate types after config changes: Run to update TypeScript bindings.
wrangler types - Local dev defaults to local storage: Bindings use local simulation unless .
remote: true - Validate config before deploy: Run to catch errors early.
wrangler check - Use environments for staging/prod: Define and
env.stagingin config.env.production
- 使用:优先使用JSON配置而非TOML。较新的功能仅支持JSON格式。
wrangler.jsonc - 设置:使用最近30天内的日期。查看https://developers.cloudflare.com/workers/configuration/compatibility-dates/
compatibility_date - 配置变更后生成类型:运行更新TypeScript绑定。
wrangler types - 本地开发默认使用本地存储:除非设置,否则绑定使用本地模拟。
remote: true - 部署前验证配置:运行提前发现错误。
wrangler check - 为预发布/生产环境使用多环境配置:在配置中定义和
env.staging。env.production
Quick Start: New Worker
快速开始:创建新Worker
bash
undefinedbash
undefinedInitialize new project
Initialize new project
npx wrangler init my-worker
npx wrangler init my-worker
Or with a framework
Or with a framework
npx create-cloudflare@latest my-app
undefinednpx create-cloudflare@latest my-app
undefinedQuick Reference: Core Commands
快速参考:核心命令
| Task | Command |
|---|---|
| Start local dev server | |
| Deploy to Cloudflare | |
| Deploy dry run | |
| Generate TypeScript types | |
| Validate configuration | |
| View live logs | |
| Delete Worker | |
| Auth status | |
| 任务 | 命令 |
|---|---|
| 启动本地开发服务器 | |
| 部署到Cloudflare | |
| 部署预演 | |
| 生成TypeScript类型 | |
| 验证配置 | |
| 查看实时日志 | |
| 删除Worker | |
| 认证状态 | |
Configuration (wrangler.jsonc)
配置(wrangler.jsonc)
Minimal Config
最简配置
jsonc
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "my-worker",
"main": "src/index.ts",
"compatibility_date": "2026-01-01"
}jsonc
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "my-worker",
"main": "src/index.ts",
"compatibility_date": "2026-01-01"
}Full Config with Bindings
包含绑定的完整配置
jsonc
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "my-worker",
"main": "src/index.ts",
"compatibility_date": "2026-01-01",
"compatibility_flags": ["nodejs_compat_v2"],
// Environment variables
"vars": {
"ENVIRONMENT": "production"
},
// KV Namespace
"kv_namespaces": [
{ "binding": "KV", "id": "<KV_NAMESPACE_ID>" }
],
// R2 Bucket
"r2_buckets": [
{ "binding": "BUCKET", "bucket_name": "my-bucket" }
],
// D1 Database
"d1_databases": [
{ "binding": "DB", "database_name": "my-db", "database_id": "<DB_ID>" }
],
// Workers AI (always remote)
"ai": { "binding": "AI" },
// Vectorize
"vectorize": [
{ "binding": "VECTOR_INDEX", "index_name": "my-index" }
],
// Hyperdrive
"hyperdrive": [
{ "binding": "HYPERDRIVE", "id": "<HYPERDRIVE_ID>" }
],
// Durable Objects
"durable_objects": {
"bindings": [
{ "name": "COUNTER", "class_name": "Counter" }
]
},
// Cron triggers
"triggers": {
"crons": ["0 * * * *"]
},
// Environments
"env": {
"staging": {
"name": "my-worker-staging",
"vars": { "ENVIRONMENT": "staging" }
}
}
}jsonc
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "my-worker",
"main": "src/index.ts",
"compatibility_date": "2026-01-01",
"compatibility_flags": ["nodejs_compat_v2"],
// Environment variables
"vars": {
"ENVIRONMENT": "production"
},
// KV Namespace
"kv_namespaces": [
{ "binding": "KV", "id": "<KV_NAMESPACE_ID>" }
],
// R2 Bucket
"r2_buckets": [
{ "binding": "BUCKET", "bucket_name": "my-bucket" }
],
// D1 Database
"d1_databases": [
{ "binding": "DB", "database_name": "my-db", "database_id": "<DB_ID>" }
],
// Workers AI (always remote)
"ai": { "binding": "AI" },
// Vectorize
"vectorize": [
{ "binding": "VECTOR_INDEX", "index_name": "my-index" }
],
// Hyperdrive
"hyperdrive": [
{ "binding": "HYPERDRIVE", "id": "<HYPERDRIVE_ID>" }
],
// Durable Objects
"durable_objects": {
"bindings": [
{ "name": "COUNTER", "class_name": "Counter" }
]
},
// Cron triggers
"triggers": {
"crons": ["0 * * * *"]
},
// Environments
"env": {
"staging": {
"name": "my-worker-staging",
"vars": { "ENVIRONMENT": "staging" }
}
}
}Generate Types from Config
从配置生成类型
bash
undefinedbash
undefinedGenerate worker-configuration.d.ts
Generate worker-configuration.d.ts
wrangler types
wrangler types
Custom output path
Custom output path
wrangler types ./src/env.d.ts
wrangler types ./src/env.d.ts
Check types are up to date (CI)
Check types are up to date (CI)
wrangler types --check
---wrangler types --check
---Local Development
本地开发
Start Dev Server
启动开发服务器
bash
undefinedbash
undefinedLocal mode (default) - uses local storage simulation
Local mode (default) - uses local storage simulation
wrangler dev
wrangler dev
With specific environment
With specific environment
wrangler dev --env staging
wrangler dev --env staging
Force local-only (disable remote bindings)
Force local-only (disable remote bindings)
wrangler dev --local
wrangler dev --local
Remote mode - runs on Cloudflare edge (legacy)
Remote mode - runs on Cloudflare edge (legacy)
wrangler dev --remote
wrangler dev --remote
Custom port
Custom port
wrangler dev --port 8787
wrangler dev --port 8787
Live reload for HTML changes
Live reload for HTML changes
wrangler dev --live-reload
wrangler dev --live-reload
Test scheduled/cron handlers
Test scheduled/cron handlers
wrangler dev --test-scheduled
wrangler dev --test-scheduled
Then visit: http://localhost:8787/__scheduled
Then visit: http://localhost:8787/__scheduled
undefinedundefinedRemote Bindings for Local Dev
本地开发使用远程绑定
Use in binding config to connect to real resources while running locally:
remote: truejsonc
{
"r2_buckets": [
{ "binding": "BUCKET", "bucket_name": "my-bucket", "remote": true }
],
"ai": { "binding": "AI", "remote": true },
"vectorize": [
{ "binding": "INDEX", "index_name": "my-index", "remote": true }
]
}Recommended remote bindings: AI (required), Vectorize, Browser Rendering, mTLS, Images.
在绑定配置中设置,即可在本地运行时连接到真实资源:
remote: truejsonc
{
"r2_buckets": [
{ "binding": "BUCKET", "bucket_name": "my-bucket", "remote": true }
],
"ai": { "binding": "AI", "remote": true },
"vectorize": [
{ "binding": "INDEX", "index_name": "my-index", "remote": true }
]
}推荐使用远程绑定的服务:AI(必须)、Vectorize、Browser Rendering、mTLS、Images。
Local Secrets
本地密钥
Create for local development secrets:
.dev.varsAPI_KEY=local-dev-key
DATABASE_URL=postgres://localhost:5432/dev创建文件用于存储本地开发密钥:
.dev.varsAPI_KEY=local-dev-key
DATABASE_URL=postgres://localhost:5432/devDeployment
部署
Deploy Worker
部署Worker
bash
undefinedbash
undefinedDeploy to production
Deploy to production
wrangler deploy
wrangler deploy
Deploy specific environment
Deploy specific environment
wrangler deploy --env staging
wrangler deploy --env staging
Dry run (validate without deploying)
Dry run (validate without deploying)
wrangler deploy --dry-run
wrangler deploy --dry-run
Keep dashboard-set variables
Keep dashboard-set variables
wrangler deploy --keep-vars
wrangler deploy --keep-vars
Minify code
Minify code
wrangler deploy --minify
undefinedwrangler deploy --minify
undefinedManage Secrets
管理密钥
bash
undefinedbash
undefinedSet secret interactively
Set secret interactively
wrangler secret put API_KEY
wrangler secret put API_KEY
Set from stdin
Set from stdin
echo "secret-value" | wrangler secret put API_KEY
echo "secret-value" | wrangler secret put API_KEY
List secrets
List secrets
wrangler secret list
wrangler secret list
Delete secret
Delete secret
wrangler secret delete API_KEY
wrangler secret delete API_KEY
Bulk secrets from JSON file
Bulk secrets from JSON file
wrangler secret bulk secrets.json
undefinedwrangler secret bulk secrets.json
undefinedVersions and Rollback
版本与回滚
bash
undefinedbash
undefinedList recent versions
List recent versions
wrangler versions list
wrangler versions list
View specific version
View specific version
wrangler versions view <VERSION_ID>
wrangler versions view <VERSION_ID>
Rollback to previous version
Rollback to previous version
wrangler rollback
wrangler rollback
Rollback to specific version
Rollback to specific version
wrangler rollback <VERSION_ID>
---wrangler rollback <VERSION_ID>
---KV (Key-Value Store)
KV(键值存储)
Manage Namespaces
管理命名空间
bash
undefinedbash
undefinedCreate namespace
Create namespace
wrangler kv namespace create MY_KV
wrangler kv namespace create MY_KV
List namespaces
List namespaces
wrangler kv namespace list
wrangler kv namespace list
Delete namespace
Delete namespace
wrangler kv namespace delete --namespace-id <ID>
undefinedwrangler kv namespace delete --namespace-id <ID>
undefinedManage Keys
管理键
bash
undefinedbash
undefinedPut value
Put value
wrangler kv key put --namespace-id <ID> "key" "value"
wrangler kv key put --namespace-id <ID> "key" "value"
Put with expiration (seconds)
Put with expiration (seconds)
wrangler kv key put --namespace-id <ID> "key" "value" --expiration-ttl 3600
wrangler kv key put --namespace-id <ID> "key" "value" --expiration-ttl 3600
Get value
Get value
wrangler kv key get --namespace-id <ID> "key"
wrangler kv key get --namespace-id <ID> "key"
List keys
List keys
wrangler kv key list --namespace-id <ID>
wrangler kv key list --namespace-id <ID>
Delete key
Delete key
wrangler kv key delete --namespace-id <ID> "key"
wrangler kv key delete --namespace-id <ID> "key"
Bulk put from JSON
Bulk put from JSON
wrangler kv bulk put --namespace-id <ID> data.json
undefinedwrangler kv bulk put --namespace-id <ID> data.json
undefinedConfig Binding
配置绑定
jsonc
{
"kv_namespaces": [
{ "binding": "CACHE", "id": "<NAMESPACE_ID>" }
]
}jsonc
{
"kv_namespaces": [
{ "binding": "CACHE", "id": "<NAMESPACE_ID>" }
]
}R2 (Object Storage)
R2(对象存储)
Manage Buckets
管理存储桶
bash
undefinedbash
undefinedCreate bucket
Create bucket
wrangler r2 bucket create my-bucket
wrangler r2 bucket create my-bucket
Create with location hint
Create with location hint
wrangler r2 bucket create my-bucket --location wnam
wrangler r2 bucket create my-bucket --location wnam
List buckets
List buckets
wrangler r2 bucket list
wrangler r2 bucket list
Get bucket info
Get bucket info
wrangler r2 bucket info my-bucket
wrangler r2 bucket info my-bucket
Delete bucket
Delete bucket
wrangler r2 bucket delete my-bucket
undefinedwrangler r2 bucket delete my-bucket
undefinedManage Objects
管理对象
bash
undefinedbash
undefinedUpload object
Upload object
wrangler r2 object put my-bucket/path/file.txt --file ./local-file.txt
wrangler r2 object put my-bucket/path/file.txt --file ./local-file.txt
Download object
Download object
wrangler r2 object get my-bucket/path/file.txt
wrangler r2 object get my-bucket/path/file.txt
Delete object
Delete object
wrangler r2 object delete my-bucket/path/file.txt
undefinedwrangler r2 object delete my-bucket/path/file.txt
undefinedConfig Binding
配置绑定
jsonc
{
"r2_buckets": [
{ "binding": "ASSETS", "bucket_name": "my-bucket" }
]
}jsonc
{
"r2_buckets": [
{ "binding": "ASSETS", "bucket_name": "my-bucket" }
]
}D1 (SQL Database)
D1(SQL数据库)
Manage Databases
管理数据库
bash
undefinedbash
undefinedCreate database
Create database
wrangler d1 create my-database
wrangler d1 create my-database
Create with location
Create with location
wrangler d1 create my-database --location wnam
wrangler d1 create my-database --location wnam
List databases
List databases
wrangler d1 list
wrangler d1 list
Get database info
Get database info
wrangler d1 info my-database
wrangler d1 info my-database
Delete database
Delete database
wrangler d1 delete my-database
undefinedwrangler d1 delete my-database
undefinedExecute SQL
执行SQL
bash
undefinedbash
undefinedExecute SQL command (remote)
Execute SQL command (remote)
wrangler d1 execute my-database --remote --command "SELECT * FROM users"
wrangler d1 execute my-database --remote --command "SELECT * FROM users"
Execute SQL file (remote)
Execute SQL file (remote)
wrangler d1 execute my-database --remote --file ./schema.sql
wrangler d1 execute my-database --remote --file ./schema.sql
Execute locally
Execute locally
wrangler d1 execute my-database --local --command "SELECT * FROM users"
undefinedwrangler d1 execute my-database --local --command "SELECT * FROM users"
undefinedMigrations
迁移
bash
undefinedbash
undefinedCreate migration
Create migration
wrangler d1 migrations create my-database create_users_table
wrangler d1 migrations create my-database create_users_table
List pending migrations
List pending migrations
wrangler d1 migrations list my-database --local
wrangler d1 migrations list my-database --local
Apply migrations locally
Apply migrations locally
wrangler d1 migrations apply my-database --local
wrangler d1 migrations apply my-database --local
Apply migrations to remote
Apply migrations to remote
wrangler d1 migrations apply my-database --remote
undefinedwrangler d1 migrations apply my-database --remote
undefinedExport/Backup
导出/备份
bash
undefinedbash
undefinedExport schema and data
Export schema and data
wrangler d1 export my-database --remote --output backup.sql
wrangler d1 export my-database --remote --output backup.sql
Export schema only
Export schema only
wrangler d1 export my-database --remote --output schema.sql --no-data
undefinedwrangler d1 export my-database --remote --output schema.sql --no-data
undefinedConfig Binding
配置绑定
jsonc
{
"d1_databases": [
{
"binding": "DB",
"database_name": "my-database",
"database_id": "<DATABASE_ID>",
"migrations_dir": "./migrations"
}
]
}jsonc
{
"d1_databases": [
{
"binding": "DB",
"database_name": "my-database",
"database_id": "<DATABASE_ID>",
"migrations_dir": "./migrations"
}
]
}Vectorize (Vector Database)
Vectorize(向量数据库)
Manage Indexes
管理索引
bash
undefinedbash
undefinedCreate index with dimensions
Create index with dimensions
wrangler vectorize create my-index --dimensions 768 --metric cosine
wrangler vectorize create my-index --dimensions 768 --metric cosine
Create with preset (auto-configures dimensions/metric)
Create with preset (auto-configures dimensions/metric)
wrangler vectorize create my-index --preset @cf/baai/bge-base-en-v1.5
wrangler vectorize create my-index --preset @cf/baai/bge-base-en-v1.5
List indexes
List indexes
wrangler vectorize list
wrangler vectorize list
Get index info
Get index info
wrangler vectorize get my-index
wrangler vectorize get my-index
Delete index
Delete index
wrangler vectorize delete my-index
undefinedwrangler vectorize delete my-index
undefinedManage Vectors
管理向量
bash
undefinedbash
undefinedInsert vectors from NDJSON file
Insert vectors from NDJSON file
wrangler vectorize insert my-index --file vectors.ndjson
wrangler vectorize insert my-index --file vectors.ndjson
Query vectors
Query vectors
wrangler vectorize query my-index --vector "[0.1, 0.2, ...]" --top-k 10
undefinedwrangler vectorize query my-index --vector "[0.1, 0.2, ...]" --top-k 10
undefinedConfig Binding
配置绑定
jsonc
{
"vectorize": [
{ "binding": "SEARCH_INDEX", "index_name": "my-index" }
]
}jsonc
{
"vectorize": [
{ "binding": "SEARCH_INDEX", "index_name": "my-index" }
]
}Hyperdrive (Database Accelerator)
Hyperdrive(数据库加速器)
Manage Configs
管理配置
bash
undefinedbash
undefinedCreate config
Create config
wrangler hyperdrive create my-hyperdrive
--connection-string "postgres://user:pass@host:5432/database"
--connection-string "postgres://user:pass@host:5432/database"
wrangler hyperdrive create my-hyperdrive
--connection-string "postgres://user:pass@host:5432/database"
--connection-string "postgres://user:pass@host:5432/database"
List configs
List configs
wrangler hyperdrive list
wrangler hyperdrive list
Get config details
Get config details
wrangler hyperdrive get <HYPERDRIVE_ID>
wrangler hyperdrive get <HYPERDRIVE_ID>
Update config
Update config
wrangler hyperdrive update <HYPERDRIVE_ID> --origin-password "new-password"
wrangler hyperdrive update <HYPERDRIVE_ID> --origin-password "new-password"
Delete config
Delete config
wrangler hyperdrive delete <HYPERDRIVE_ID>
undefinedwrangler hyperdrive delete <HYPERDRIVE_ID>
undefinedConfig Binding
配置绑定
jsonc
{
"compatibility_flags": ["nodejs_compat_v2"],
"hyperdrive": [
{ "binding": "HYPERDRIVE", "id": "<HYPERDRIVE_ID>" }
]
}jsonc
{
"compatibility_flags": ["nodejs_compat_v2"],
"hyperdrive": [
{ "binding": "HYPERDRIVE", "id": "<HYPERDRIVE_ID>" }
]
}Workers AI
Workers AI
List Models
列出模型
bash
undefinedbash
undefinedList available models
List available models
wrangler ai models
wrangler ai models
List finetunes
List finetunes
wrangler ai finetune list
undefinedwrangler ai finetune list
undefinedConfig Binding
配置绑定
jsonc
{
"ai": { "binding": "AI" }
}Note: Workers AI always runs remotely and incurs usage charges even in local dev.
jsonc
{
"ai": { "binding": "AI" }
}注意:Workers AI始终在远程运行,即使在本地开发时也会产生使用费用。
Queues
Queues(队列)
Manage Queues
管理队列
bash
undefinedbash
undefinedCreate queue
Create queue
wrangler queues create my-queue
wrangler queues create my-queue
List queues
List queues
wrangler queues list
wrangler queues list
Delete queue
Delete queue
wrangler queues delete my-queue
wrangler queues delete my-queue
Add consumer to queue
Add consumer to queue
wrangler queues consumer add my-queue my-worker
wrangler queues consumer add my-queue my-worker
Remove consumer
Remove consumer
wrangler queues consumer remove my-queue my-worker
undefinedwrangler queues consumer remove my-queue my-worker
undefinedConfig Binding
配置绑定
jsonc
{
"queues": {
"producers": [
{ "binding": "MY_QUEUE", "queue": "my-queue" }
],
"consumers": [
{
"queue": "my-queue",
"max_batch_size": 10,
"max_batch_timeout": 30
}
]
}
}jsonc
{
"queues": {
"producers": [
{ "binding": "MY_QUEUE", "queue": "my-queue" }
],
"consumers": [
{
"queue": "my-queue",
"max_batch_size": 10,
"max_batch_timeout": 30
}
]
}
}Containers
Containers(容器)
Build and Push Images
构建并推送镜像
bash
undefinedbash
undefinedBuild container image
Build container image
wrangler containers build -t my-app:latest .
wrangler containers build -t my-app:latest .
Build and push in one command
Build and push in one command
wrangler containers build -t my-app:latest . --push
wrangler containers build -t my-app:latest . --push
Push existing image to Cloudflare registry
Push existing image to Cloudflare registry
wrangler containers push my-app:latest
undefinedwrangler containers push my-app:latest
undefinedManage Containers
管理容器
bash
undefinedbash
undefinedList containers
List containers
wrangler containers list
wrangler containers list
Get container info
Get container info
wrangler containers info <CONTAINER_ID>
wrangler containers info <CONTAINER_ID>
Delete container
Delete container
wrangler containers delete <CONTAINER_ID>
undefinedwrangler containers delete <CONTAINER_ID>
undefinedManage Images
管理镜像
bash
undefinedbash
undefinedList images in registry
List images in registry
wrangler containers images list
wrangler containers images list
Delete image
Delete image
wrangler containers images delete my-app:latest
undefinedwrangler containers images delete my-app:latest
undefinedManage External Registries
管理外部镜像仓库
bash
undefinedbash
undefinedList configured registries
List configured registries
wrangler containers registries list
wrangler containers registries list
Configure external registry (e.g., ECR)
Configure external registry (e.g., ECR)
wrangler containers registries configure <DOMAIN>
--public-credential <AWS_ACCESS_KEY_ID>
--public-credential <AWS_ACCESS_KEY_ID>
wrangler containers registries configure <DOMAIN>
--public-credential <AWS_ACCESS_KEY_ID>
--public-credential <AWS_ACCESS_KEY_ID>
Delete registry configuration
Delete registry configuration
wrangler containers registries delete <DOMAIN>
---wrangler containers registries delete <DOMAIN>
---Workflows
Workflows(工作流)
Manage Workflows
管理工作流
bash
undefinedbash
undefinedList workflows
List workflows
wrangler workflows list
wrangler workflows list
Describe workflow
Describe workflow
wrangler workflows describe my-workflow
wrangler workflows describe my-workflow
Trigger workflow instance
Trigger workflow instance
wrangler workflows trigger my-workflow
wrangler workflows trigger my-workflow
Trigger with parameters
Trigger with parameters
wrangler workflows trigger my-workflow --params '{"key": "value"}'
wrangler workflows trigger my-workflow --params '{"key": "value"}'
Delete workflow
Delete workflow
wrangler workflows delete my-workflow
undefinedwrangler workflows delete my-workflow
undefinedManage Workflow Instances
管理工作流实例
bash
undefinedbash
undefinedList instances
List instances
wrangler workflows instances list my-workflow
wrangler workflows instances list my-workflow
Describe instance
Describe instance
wrangler workflows instances describe my-workflow <INSTANCE_ID>
wrangler workflows instances describe my-workflow <INSTANCE_ID>
Terminate instance
Terminate instance
wrangler workflows instances terminate my-workflow <INSTANCE_ID>
undefinedwrangler workflows instances terminate my-workflow <INSTANCE_ID>
undefinedConfig Binding
配置绑定
jsonc
{
"workflows": [
{
"binding": "MY_WORKFLOW",
"name": "my-workflow",
"class_name": "MyWorkflow"
}
]
}jsonc
{
"workflows": [
{
"binding": "MY_WORKFLOW",
"name": "my-workflow",
"class_name": "MyWorkflow"
}
]
}Pipelines
Pipelines(流水线)
Manage Pipelines
管理流水线
bash
undefinedbash
undefinedCreate pipeline
Create pipeline
wrangler pipelines create my-pipeline --r2 my-bucket
wrangler pipelines create my-pipeline --r2 my-bucket
List pipelines
List pipelines
wrangler pipelines list
wrangler pipelines list
Show pipeline details
Show pipeline details
wrangler pipelines show my-pipeline
wrangler pipelines show my-pipeline
Update pipeline
Update pipeline
wrangler pipelines update my-pipeline --batch-max-mb 100
wrangler pipelines update my-pipeline --batch-max-mb 100
Delete pipeline
Delete pipeline
wrangler pipelines delete my-pipeline
undefinedwrangler pipelines delete my-pipeline
undefinedConfig Binding
配置绑定
jsonc
{
"pipelines": [
{ "binding": "MY_PIPELINE", "pipeline": "my-pipeline" }
]
}jsonc
{
"pipelines": [
{ "binding": "MY_PIPELINE", "pipeline": "my-pipeline" }
]
}Secrets Store
Secrets Store(密钥存储)
Manage Stores
存储管理
bash
undefinedbash
undefinedCreate store
Create store
wrangler secrets-store store create my-store
wrangler secrets-store store create my-store
List stores
List stores
wrangler secrets-store store list
wrangler secrets-store store list
Delete store
Delete store
wrangler secrets-store store delete <STORE_ID>
undefinedwrangler secrets-store store delete <STORE_ID>
undefinedManage Secrets in Store
存储中的密钥管理
bash
undefinedbash
undefinedAdd secret to store
Add secret to store
wrangler secrets-store secret put <STORE_ID> my-secret
wrangler secrets-store secret put <STORE_ID> my-secret
List secrets in store
List secrets in store
wrangler secrets-store secret list <STORE_ID>
wrangler secrets-store secret list <STORE_ID>
Get secret
Get secret
wrangler secrets-store secret get <STORE_ID> my-secret
wrangler secrets-store secret get <STORE_ID> my-secret
Delete secret from store
Delete secret from store
wrangler secrets-store secret delete <STORE_ID> my-secret
undefinedwrangler secrets-store secret delete <STORE_ID> my-secret
undefinedConfig Binding
配置绑定
jsonc
{
"secrets_store_secrets": [
{
"binding": "MY_SECRET",
"store_id": "<STORE_ID>",
"secret_name": "my-secret"
}
]
}jsonc
{
"secrets_store_secrets": [
{
"binding": "MY_SECRET",
"store_id": "<STORE_ID>",
"secret_name": "my-secret"
}
]
}Pages (Frontend Deployment)
Pages(前端部署)
bash
undefinedbash
undefinedCreate Pages project
Create Pages project
wrangler pages project create my-site
wrangler pages project create my-site
Deploy directory to Pages
Deploy directory to Pages
wrangler pages deploy ./dist
wrangler pages deploy ./dist
Deploy with specific branch
Deploy with specific branch
wrangler pages deploy ./dist --branch main
wrangler pages deploy ./dist --branch main
List deployments
List deployments
wrangler pages deployment list --project-name my-site
---wrangler pages deployment list --project-name my-site
---Observability
可观测性
Tail Logs
查看日志
bash
undefinedbash
undefinedStream live logs
Stream live logs
wrangler tail
wrangler tail
Tail specific Worker
Tail specific Worker
wrangler tail my-worker
wrangler tail my-worker
Filter by status
Filter by status
wrangler tail --status error
wrangler tail --status error
Filter by search term
Filter by search term
wrangler tail --search "error"
wrangler tail --search "error"
JSON output
JSON output
wrangler tail --format json
undefinedwrangler tail --format json
undefinedConfig Logging
配置日志
jsonc
{
"observability": {
"enabled": true,
"head_sampling_rate": 1
}
}jsonc
{
"observability": {
"enabled": true,
"head_sampling_rate": 1
}
}Testing
测试
Local Testing with Vitest
使用Vitest进行本地测试
bash
npm install -D @cloudflare/vitest-pool-workers vitestvitest.config.tstypescript
import { defineWorkersConfig } from "@cloudflare/vitest-pool-workers/config";
export default defineWorkersConfig({
test: {
poolOptions: {
workers: {
wrangler: { configPath: "./wrangler.jsonc" },
},
},
},
});bash
npm install -D @cloudflare/vitest-pool-workers vitestvitest.config.tstypescript
import { defineWorkersConfig } from "@cloudflare/vitest-pool-workers/config";
export default defineWorkersConfig({
test: {
poolOptions: {
workers: {
wrangler: { configPath: "./wrangler.jsonc" },
},
},
},
});Test Scheduled Events
测试定时事件
bash
undefinedbash
undefinedEnable in dev
Enable in dev
wrangler dev --test-scheduled
wrangler dev --test-scheduled
Trigger via HTTP
Trigger via HTTP
---
---Troubleshooting
故障排除
Common Issues
常见问题
| Issue | Solution |
|---|---|
| Install: |
| Auth errors | Run |
| Config validation errors | Run |
| Type errors after config change | Run |
| Local storage not persisting | Check |
| Binding undefined in Worker | Verify binding name matches config exactly |
| 问题 | 解决方案 |
|---|---|
| 安装: |
| 认证错误 | 运行 |
| 配置验证错误 | 运行 |
| 配置变更后出现类型错误 | 运行 |
| 本地存储不持久 | 检查 |
| Worker中绑定未定义 | 验证绑定名称与配置完全匹配 |
Debug Commands
调试命令
bash
undefinedbash
undefinedCheck auth status
Check auth status
wrangler whoami
wrangler whoami
Validate config
Validate config
wrangler check
wrangler check
View config schema
View config schema
wrangler docs configuration
---wrangler docs configuration
---Best Practices
最佳实践
- Version control : Treat as source of truth for Worker config.
wrangler.jsonc - Use automatic provisioning: Omit resource IDs for auto-creation on deploy.
- Run in CI: Add to build step to catch binding mismatches.
wrangler types - Use environments: Separate staging/production with ,
env.staging.env.production - Set : Update quarterly to get new runtime features.
compatibility_date - Use for local secrets: Never commit secrets to config.
.dev.vars - Test locally first: with local bindings before deploying.
wrangler dev - Use before major deploys: Validate changes without deployment.
--dry-run
- 对进行版本控制:将其作为Worker配置的唯一可信来源。
wrangler.jsonc - 使用自动配置:省略资源ID,以便在部署时自动创建资源。
- 在CI中运行:将其添加到构建步骤中,以捕获绑定不匹配的问题。
wrangler types - 使用多环境配置:通过和
env.staging分离预发布和生产环境。env.production - 设置:每季度更新一次,以获取新的运行时功能。
compatibility_date - 使用存储本地密钥:切勿将密钥提交到配置文件中。
.dev.vars - 先在本地测试:在部署前使用和本地绑定进行测试。
wrangler dev - 在重大部署前使用:在不实际部署的情况下验证变更。
--dry-run