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发布说明















暂无评论内容