如何用JavaScript创建Supabase Edge Function(替代TypeScript)
如何创建JavaScript版本的Supabase Edge Function
当然可以创建JavaScript版本的Supabase Edge Function,有两种简单的实现方式:
1. 手动创建JS函数
跳过默认的npx supabase functions new命令,直接手动搭建函数结构:
- 在项目的
supabase/functions目录下,新建一个以函数名命名的文件夹(比如hello-js) - 在该文件夹内创建
index.js文件,编写标准的JavaScript代码,示例如下:export default async function handler(req) { const { name } = await req.json(); return new Response( JSON.stringify({ message: `Hello, ${name || "stranger"}!` }), { headers: { "Content-Type": "application/json" } } ); } - 完成后,用以下命令部署或本地测试:
- 部署:
supabase functions deploy hello-js - 本地运行:
supabase functions serve hello-js
- 部署:
2. 将自动生成的TS文件转为JS
如果已经用命令生成了TypeScript版本的函数,只需做简单修改即可转为JS:
- 将生成的
index.ts文件重命名为index.js - 移除所有TypeScript专属语法(比如类型注解、接口定义等),示例转换:
// 原TS代码 // export default async function handler(req: Request): Promise<Response> { // return new Response("Hello from Supabase!", { // headers: { "Content-Type": "text/plain" }, // }); // } // 转换后的JS代码 export default async function handler(req) { return new Response("Hello from Supabase!", { headers: { "Content-Type": "text/plain" }, }); }
注意事项
Supabase Edge Functions基于Deno运行,Deno对JavaScript有原生支持,所以JS代码无需额外配置即可正常运行。如果需要引入第三方包,直接使用Deno的URL导入语法即可,比如:
import { format } from "https://deno.land/std@0.200.0/datetime/mod.js";
内容的提问来源于stack exchange,提问作者Lonare
相关产品推荐
相关产品推荐

