我希望可以一键部署到 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对象是在全局路由中处理,
![]() |
1
georgetso 42 天前
这里也不是 vibe coding agent 啊
|
![]() |
2
chenzhe 42 天前
真巧,前阵子还真做了一个,不过是 React 的,用的 nextjs 为底,用 hono 来接管 API 部分。
|
![]() |
3
Cyanhall 42 天前 ![]() 我做了一个模板:NuxSaaS https://nuxsaas.com/zh-CN 不过前后端都是 Nuxt, 授权用的 Better Auth, 也有管理后台,通过 wrangler 部署到 cloudflare workers 。
|
![]() |
6
Honwhy OP |