使用 cloudflare workers 搭建全栈化及后台管理系统 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Honwhy
V2EX    问与答

使用 cloudflare workers 搭建全栈化及后台管理系统

  •  
  •   Honwhy 116 天前 1487 次点击
    这是一个创建于 116 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我希望可以一键部署到 cloudflare workers 上, 支持全栈化框架,前端 Vue ,后端使用 Hono 支持登录 better auth

    最好是能支持轻量级 cms 系统(做管理后台)

    第 1 条附言    104 天前

    我采用的方案,已经跑通并且部署成功。 cf workers 全栈化框架,前端Vue,后端:cf workers Hono 账号管理:better-auth(需要想办法把schema 拿到,生成SQL 并做好migration) 数据操作ORM:drizzle 数据库:D1 会话缓存:KV

    准备使用R2 作图床功能。

    先补充下参考文档

    第 2 条附言    103 天前

    文章收录在 2025-08-10-cf-worker-full-stack/

    (文字超出限制了。。。)

    经过多次的调研,本人打算利用cloudflare workers 实现一个全栈化项目的部署,技术选型前端使用Vue,后端除了cloudflare workers全家桶,还是用Honobetter-auth以及drizzle

    初始化框架

    搭建全栈化项目

    npm create cloudflare@latest -- cards --framework=vue 

    初始化后,整个工程已经配置好vite.config.ts, 规划好前端代码部分在src目录 以及后端代码部分在server目录。 整个项目可以看作以前端项目为主体,后端项目为辅的设计。

    引入better-auth

    这一步的目的是使用better-auth的账号及登录方面的表设计。主要涉及的表有 user account verification,另外和会话相关的我们开启次级存储,使用cloudflare workersKV。同时,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对象是在全局路由中处理,

    参考文档

    6 条回复    2025-08-24 22:12:26 +08:00
    georgetso
        1
    georgetso  
       116 天前
    这里也不是 vibe coding agent 啊
    chenzhe
        2
    chenzhe  
       116 天前
    真巧,前阵子还真做了一个,不过是 React 的,用的 nextjs 为底,用 hono 来接管 API 部分。
    Cyanhall
        3
    Cyanhall  
       116 天前   1
    我做了一个模板:NuxSaaS https://nuxsaas.com/zh-CN 不过前后端都是 Nuxt, 授权用的 Better Auth, 也有管理后台,通过 wrangler 部署到 cloudflare workers 。
    Honwhy
        4
    Honwhy  
    OP
       103 天前
    @Cyanhall 你这个项目用了 pg 数据库的,这个是 cloudflare workers 提供的,还是要自己另外地方创建?
    Cyanhall
        5
    Cyanhall  
       102 天前
    @Honwhy cloudflare 不支持 pg, 可以用其他在线的 pg 数据库,然后通过 Hyperdrive 连接
    Honwhy
        6
    Honwhy  
    OP
       94 天前
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     887 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 21:20 PVG 05:20 LAX 13:20 JFK 16:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86