You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 13:33:11