Dart Frog 第5部分:使用 Dart Globe 部署您的后端服务 🌍

发布: (2026年1月31日 GMT+8 21:16)
4 分钟阅读
原文: Dev.to

Source: Dev.to

前置条件(来自前几部分)

  • 来自第 4 部分的 Dart Frog 项目(包含身份验证、受保护路由、内存或简单数据库)。

  • Globe 账户(免费注册)。

  • 已安装 Globe CLI:

    dart pub global activate globe_cli
  • 已登录:

    globe login
  • 已安装 Dart Frog CLI(本系列已完成安装)。

  • 本地已构建一次:

    dart_frog build   # 在 /build 中创建优化后的生产二进制文件

第 1 步:为生产环境准备项目

Globe 会自动检测 Dart Frog 项目,但进行少量调整可以确保顺利运行。

监听正确的端口

Dart Frog 默认使用 8080,而 Globe 使用 PORT 环境变量。请在 main.dart(或启动服务器的文件)中进行更新:

import 'dart:io';
import 'package:dart_frog/dart_frog.dart';

void main() async {
  final port = int.parse(Platform.environment['PORT'] ?? '8080');
  await serve(handler, InternetAddress.anyIPv4, port);
}

密钥与环境变量

对于 JWT 密钥(第 4 部分中使用的),请改用 Globe 的环境变量面板,而不是硬编码:

final secret = Platform.environment['JWT_SECRET'] ?? 'fallback-dev-secret';

CORS(如有需要)

在处理器之前添加所需的 CORS 中间件,例如:

import 'package:shelf_cors_headers/shelf_cors_headers.dart';

final handler = const Pipeline()
    .addMiddleware(corsHeaders())
    .addHandler(yourRouter);

本地构建

dart_frog build

这会编译出 Globe 能高效运行的 AOT 二进制文件。

部署到 Globe

在项目根目录执行:

globe deploy
  • CLI 会引导你创建或关联项目并选择名称(例如 todo-project)。
  • Globe 会自动检测 Dart Frog 结构,应用相应的预设并构建 AOT 二进制文件。
  • 若要进行生产级部署,请添加 --prod 参数:
globe deploy --prod

部署成功后

  • URL: https://your-project-name.globeapp.dev(以后可绑定自定义域名)。

  • 测试接口: 使用 Postman 或 curl 访问线上地址,例如:

    curl -H "Authorization: Bearer <TOKEN>" https://todo-api-samuel.globeapp.dev/todos

第 3 步:部署后提示

  • 环境变量: 仪表盘 → 项目 → 设置 → 环境变量 → 添加 JWT_SECRET、数据库凭证等。
  • 扩展与性能: 按需自动扩容;尽可能使用边缘缓存。
  • 日志与监控: 内置日志和指标仪表盘。
  • 自定义域名: 在设置中添加(SSL 会自动配置)。
  • CI/CD: 关联 GitHub 仓库,实现推送自动部署。
  • 费用: 免费层对初学者相当慷慨,之后按使用量付费。

实时测试完整的全栈应用

将 Flutter 应用中 Dio 的 baseUrl 更新为你的 Globe 地址:

final Dio _dio = Dio(BaseOptions(baseUrl: 'https://your-project-name.globeapp.dev'));

运行 Flutter 应用 → 通过线上后端安全地进行 Todo 的增删改查。全栈 Dart 正式上线!

源代码

通过给仓库加星并关注作者来表达一点 ❤️。

Back to Blog

相关文章

阅读更多 »