我希望可以一键部署到 cloudflare workers 上, 支持全栈化框架,前端 Vue ,后端使用 Hono 支持登录 better auth
最好是能支持轻量级 cms 系统(做管理后台)
我采用的方案,已经跑通并且部署成功。 cf workers 全栈化框架,前端Vue,后端:cf workers Hono 账号管理:better-auth(需要想办法把schema 拿到,生成SQL 并做好migration) 数据操作ORM:drizzle 数据库:D1 会话缓存:KV
准备使用R2 作图床功能。
先补充下参考文档
文章收录在 2025-08-10-cf-worker-full-stack/
(文字超出限制了。。。)
经过多次的调研,本人打算利用
cloudflare workers实现一个全栈化项目的部署,技术选型前端使用Vue,后端除了cloudflare workers全家桶,还是用Hono,better-auth以及drizzle。
npm create cloudflare@latest -- cards --framework=vue
初始化后,整个工程已经配置好vite.config.ts, 规划好前端代码部分在src目录 以及后端代码部分在server目录。
整个项目可以看作以前端项目为主体,后端项目为辅的设计。
这一步的目的是使用better-auth的账号及登录方面的表设计。主要涉及的表有 user account verification,另外和会话相关的我们开启次级存储,使用cloudflare workers的 KV。同时,better-auth 提供了完整的账号管理功能,以及集成第三方登录的能力。另外它也提供了前端使用的SDK。
配置better-auth 密钥,这一步和密码hash 有关,具体源码没有深究
BETTER_AUTH_SECRET=
如果是普通的数据库,不像cloudflare workers 这样子需要首先bindging,然后通过http 接口触发,再从context 中获取,那么配置使用better-auth 挺简单的。
配置好DB,
import { betterAuth } from "better-auth";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { db } from "@/db"; // your drizzle instance
 
export const auth = betterAuth({
    database: drizzleAdapter(db, {
        provider: "pg", // or "mysql", "sqlite"
    }),
});
使用cli 工具,npx @better-auth/cli generate 生成schema,npx @better-auth/cli migrate 在数据库中创建表。
由于cloudflare workers 的特殊性,这里采用网上的开源方案cf-script,先折衷搞到shema,
然后初始化BetterAuth对象是在全局路由中处理,
|  |      1georgetso      89 天前 这里也不是 vibe coding agent 啊 | 
|  |      2chenzhe      89 天前 真巧,前阵子还真做了一个,不过是 React 的,用的 nextjs 为底,用 hono 来接管 API 部分。 | 
|  |      3Cyanhall      89 天前  1 我做了一个模板:NuxSaaS https://nuxsaas.com/zh-CN 不过前后端都是 Nuxt, 授权用的 Better Auth, 也有管理后台,通过 wrangler 部署到 cloudflare workers 。 | 
|  |      6Honwhy OP |