Deno Deploy免费部署教程:零成本托管你的TypeScript API服务

Deno Deploy是Deno官方提供的边缘计算平台,提供了慷慨的免费额度,非常适合个人项目和小型API服务。结合Deno 2.8的发布,现在是尝试这个平台的好时机。

免费额度

Deno Deploy的免费计划包含:

1. 每月100万次请求——对个人项目来说绰绰有余

2. 100GB带宽——足够中小型网站使用

3. 全球边缘网络——代码部署到全球35+个节点

4. 无需信用卡——注册即可使用,不会被偷偷扣费

快速部署步骤

1. 准备代码

创建一个简单的Deno HTTP服务:

// main.ts
Deno.serve((req) => {
  const url = new URL(req.url);
  if (url.pathname === "/api/hello") {
    return new Response(
      JSON.stringify({ message: "Hello from Deno Deploy!" }),
      { headers: { "Content-Type": "application/json" } }
    );
  }
  return new Response("Not Found", { status: 404 });
});

2. 创建Deno Deploy项目

访问 dash.deno.com,用GitHub账号登录。点击”New Project”,选择你的代码仓库。

3. 配置部署

选择入口文件(如main.ts),点击部署。Deno Deploy会自动构建并部署到全球边缘网络。

4. 自定义域名

免费计划提供your-project.deno.dev域名。你也可以绑定自定义域名,在DNS中添加CNAME记录指向Deno Deploy。

实际使用场景

API后端:TypeScript原生支持,写REST API非常自然。比Vercel Serverless Functions更灵活。

Webhook接收器:接收GitHub、Stripe等平台的Webhook,处理后存储到数据库。

短链接服务:利用边缘网络的低延迟特性,做一个全球快速响应的短链接跳转服务。

定时任务:Deno Deploy支持Cron触发器,可以定期执行数据抓取、清理等任务。

和类似平台对比

vs Cloudflare Workers:Cloudflare Workers的免费计划也很慷慨(每天10万请求),但Deno Deploy原生支持TypeScript和npm包,开发体验更好。

vs Vercel:Vercel的Serverless Functions有冷启动问题。Deno Deploy的边缘运行时冷启动更快。

vs Railway/Render:这些平台的免费计划要么有时间限制,要么需要信用卡。Deno Deploy的免费计划更干净。

注意事项

1. 免费计划不支持持久化存储,需要外部数据库(如Supabase、PlanetScale)

2. 单次请求执行时间限制为50ms CPU时间(I/O等待不计入)

3. 不支持长连接WebSocket(付费计划支持)

4. 代码需要兼容Deno运行时,不支持Node.js特有的API(但大部分npm包可以使用)

结合Deno 2.8的新功能

Deno 2.8的deno audit fix可以自动修复依赖漏洞,这对部署到生产环境很有帮助。在部署前运行一次:

deno audit fix
deno check main.ts
# 确认无误后部署

如果你的项目是TypeScript写的、不需要复杂的后端逻辑,Deno Deploy是一个非常值得尝试的免费托管方案。

本文参考来源:Deno Deploy官网 | Deno 2.8发布说明

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容