如何从wrangler.toml自动生成Cloudflare Workers的绑定类型?
如何从wrangler.toml自动生成Cloudflare Workers绑定类型
Wrangler v3及以上版本已经原生支持自动生成绑定类型,不用再手动编写,具体操作如下:
直接生成类型
在项目根目录执行命令:wrangler types
这个命令会读取你的wrangler.toml配置,自动生成env.d.ts类型定义文件。之后你的Worker代码里的env参数就能直接获得所有绑定的类型提示,完全不用手动定义Env接口。添加自动生成脚本(可选)
如果想简化操作,避免每次改配置都手动跑命令,可以在package.json里加个脚本:
{ "scripts": { "gen-types": "wrangler types" } }
之后修改wrangler.toml后,运行npm run gen-types就能更新类型。要是想更省心,还可以用文件监听工具(比如chokidar-cli)实现配置文件变化时自动执行生成命令。
- 使用示例
生成类型后,Worker代码可以直接这样写,env的类型会自动匹配你的绑定配置:
export default { async fetch(request: Request, env: Env) { // 这里env.MY_KV_NAMESPACE会自动带有KV命名空间的方法提示 const data = await env.MY_KV_NAMESPACE.get('demo-key'); return new Response(data); } };
- 注意点
- 必须升级到Wrangler v3+,旧版本没有这个自动生成功能
- 对于Durable Object、R2存储、服务绑定这些特殊绑定,Wrangler也能正确识别并生成对应类型
- 确保
tsconfig.json包含了env.d.ts文件,默认情况下TypeScript会自动识别根目录下的.d.ts文件,要是你的配置有特殊路径,需要手动在include数组里添加
内容的提问来源于stack exchange,提问作者Jim Kimpton
相关产品推荐
相关产品推荐

