如何在Node.js中使用Cloudflare KV?已创建命名空间但部署后失效
问题解决方法
核心错误修正
你的代码里存在一个关键拼写错误:在执行put操作时使用了env.YOUR_KV_NAMESPACE,但你在wrangler.toml中绑定的KV命名空间是testkv,这会导致程序找不到对应的KV实例,直接引发运行失败。
将这行错误代码替换为:
await env.testkv.put("KEY", "VALUE");
语法与文件类型匹配检查
你的代码使用了TypeScript语法(比如interface Env、类型注解Request/Env/ExecutionContext),但文件名是src/index.js,这可能导致Wrangler编译失败。请:
- 将文件名改为
src/index.ts - 无需额外修改
wrangler.toml,Wrangler默认支持TypeScript文件的编译部署
修正后的完整代码
export interface Env { "testkv": KVNamespace; } export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { await env.testkv.put("KEY", "VALUE"); const value = await env.testkv.get("KEY"); if (value === null) { return new Response("Value not found", { status: 404 }); } return new Response(value); }, };
重新部署验证
修改完成后,执行部署命令:
wrangler deploy
访问Worker的URL,会正常返回VALUE,说明KV的put和get操作已正常工作。
内容的提问来源于stack exchange,提问作者Pw Ms -Jab
相关产品推荐
相关产品推荐

