[ PROMPT_NODE_24190 ]
Pages 配置说明
[ SKILL_DOCUMENTATION ]
# 配置
## wrangler.jsonc
c
{
"name": "my-pages-project",
"pages_build_output_dir": "./dist",
"compatibility_date": "2026-01-01", // 新项目请使用当前日期
"compatibility_flags": ["nodejs_compat"],
"placement": {
"mode": "smart" // 可选: 启用智能放置
},
"kv_namespaces": [{"binding": "KV", "id": "abcd1234..."}],
"d1_databases": [{"binding": "DB", "database_id": "xxxx-xxxx", "database_name": "production-db"}],
"r2_buckets": [{"binding": "BUCKET", "bucket_name": "my-bucket"}],
"durable_objects": {"bindings": [{"name": "COUNTER", "class_name": "Counter", "script_name": "counter-worker"}]},
"services": [{"binding": "API", "service": "api-worker"}],
"queues": {"producers": [{"binding": "QUEUE", "queue": "my-queue"}]},
"vectorize": [{"binding": "VECTORIZE", "index_name": "my-index"}],
"ai": {"binding": "AI"},
"analytics_engine_datasets": [{"binding": "ANALYTICS"}],
"vars": {"API_URL": "https://api.example.com", "ENVIRONMENT": "production"},
"env": {
"preview": {
"vars": {"API_URL": "https://staging-api.example.com"},
"kv_namespaces": [{"binding": "KV", "id": "preview-namespace-id"}]
}
}
}
## 构建配置
**Git 部署**: 控制台 → 项目 → 设置 → 构建设置
设置构建命令、输出目录、环境变量。框架自动检测会自动配置。
## 环境变量
### 本地 (.dev.vars)
bash
# .dev.vars (切勿提交到版本库)
SECRET_KEY="local-secret-key"
API_TOKEN="dev-token-123"
### 生产环境
bash
echo "secret-value" | npx wrangler pages secret put SECRET_KEY --project-name=my-project
npx wrangler pages secret list --project-name=my-project
npx wrangler pages secret delete SECRET_KEY --project-name=my-project
访问方式: `env.SECRET_KEY`
## 静态配置文件
### _redirects
放置在构建输出目录中 (例如 `dist/_redirects`):
txt
/old-page /new-page 301 # 301 重定向
/blog/* /news/:splat 301 # Splat 通配符
/users/:id /members/:id 301 # 占位符
/api/* /api-v2/:splat 200 # 代理 (非重定向)
**限制**: 总计 2,100 条 (2,000 静态 + 100 动态), 每行 1,000 字符
**注意**: Functions 优先级更高
### _headers
txt
/secure/*
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
/api/*
Access-Control-Allow-Origin: *
/static/*
Cache-Control: public, max-age=31536000, immutable
**限制**: 100 条规则, 每行 2,000 字符
**注意**: 仅适用于静态资源;Functions 需在响应中设置头信息