Skip to content

配置

Worker 项目文件是 open-compute.json。必须包含 name,并选择一种内容形态:mainassetsmain + assets,或 frameworkOutput。parser 只接受下列已实现字段;未知字段会被拒绝。

json
{
  "name": "hello-typescript",
  "main": "src/index.ts",
  "vars": { "GREETING": "Hello from TypeScript" }
}

字段

字段作用
nameWorker 名,[a-z0-9] 加内部连字符
main入口 TS,相对配置文件目录
frameworkOutput已构建框架产物;不能再和显式 main / assets 组合
tsconfig默认 tsconfig.json
vars公开变量,JSON 值进入 env
secrets{ "TOKEN": { "env": "MY_TOKEN" } },只引用环境变量
bindings对象:键是 env 名,值是 {type, id, permissions?};DO / Workflow 还要 className;Workflow 可选 schedules
services数组 [{binding, service, entrypoint?}]
assetsdirectorybinding?run_worker_firsthtml_handlingnot_found_handlingpublish_source_maps
cacheenabledcross_version_cache
exports具名 Worker entrypoint 的 cache 覆盖,只接受 {"type":"worker","cache":{...}}
images{ "binding": "IMAGES" }
version_metadata{ "binding": "VERSION", "tag"? }
accountId覆盖默认账户
endpoint平台 origin,默认 http://127.0.0.1:8787

mainframeworkOutput、assets directory 与 tsconfig 相对配置文件目录解析,且不能逃逸项目边界。Assets-only 项目不能声明 vars、secrets、产品/service bindings,也不能要求 Worker-first。所有 binding 名共用同一 env 命名空间。文件最大 64 KiB,必须是正规 JSON(不是 jsonc)。

bindings.typekv_namespacer2_bucketd1_databasedo_namespacequeue_producerworkflow

兼容性

主题Cloudflareopen-compute
vars、secrets、assets routing、cache enabled、service bindings 语义是,对照 Wrangler configuration字段名借用常见 Wrangler 配置;不是完整 wrangler.jsonc 兼容层
模块 Worker 的 main 指向 TS/JS 入口
compatibility_date / compatibility_flags / compatibilityDate / compatibilityFlags不允许
workers_dev、Custom Domains、routes、placement、observability、AI、vectorize不提供;未知键失败,不会忽略
控制面Cloudflare 控制面本机 ocd HTTP API

本节