部署 nextjs、nuxt vue 到 Cloudflare Page 遇到的坑爹问题,时间和金钱都浪费了

2025 年 5 月 16 日
 meigesir

大家可能会说,时间和金钱都浪费了,这么大成本,为什么不在 vps 或者 Dokploy 上部署。

其实是 Cloudflare 这个菩萨太香了,几乎 0 成本服务器费用,尤其我们要多做项目,这样从成功率更容易成功,所以成本对我们很重要。万一哪个项目火了,我们可以再去宠幸那个项目。

最近使用 Cloudflare Page 部署项目,遇到部署问题,代价很大。交的学费就是,白白浪费 1 天或几天的时间,到最后还是解决不了这个部署问题,真的很抓狂。接下来我会告诉下唯一的、反直觉、速效的方案。

其实方案很简单,就是项目做一些改动,尤其大的,要 Cloudflare page 部署一次,如果是线上产品,那就直接非主分支部署,这样只会部署到 preview 分支,不会影响到线上的业务。

这样如果遇到部署的问题,解决当下的改动或最近的小改动就行了。

不这样做的代价可能就是以半天的时间为单位浪费,可能还解决不了问题,你说抓不抓狂。而我遇到了两次这样的大问题,这一次更是浪费是时间和钱财,我会告诉你具体的情况。

我这次是等项目完成之后,想一步 deploy 到 Cloudflare 成功,结果处理了一天都没解决。各种问 AI ,结果 3 分钟,加上 cursor 刚更新,新的调用计费政策,cursor o3 就耗光了一个月的额度,损失几十刀。时间和金钱都浪费了。

下面两张图是 cursor 的 o3 调用和扣费,当时就把 o3 model 禁了,用不起用不起。

最后我只能沿着 git 提交记录排查,结果最近一次成功部署在 35 次提交之前,很绝望。直接原因是引入了 shadcn-nuxt 这个库,非官方库,某种原因就是部署不了。

那只能从那个 git 提交点开始改动了,这是最笨又快速方法。毕竟这么多提交记录,变量太大了,AI 也懵逼了,我浪费了时间和 AI 费用,结果问题还是没有解决。

我上次遇到类似的问题,是部署 nextjs 项目到 Cloudflare page ,哎,结果这次是 nuxt vue 项目,我以为不一样,结果一样折磨我一天时间,最后只能回到之前的 git 提交点,一步一步几十个提交记录,再手工去搬运。

这是我遇到的 Cloudflare 的两次部署问题,耗费了大量代价:时间和金钱成本,总结出的解决方案,希望可以帮到大家避坑,谢谢~

也分享记录在了 X: https://x.com/meigesir/status/1923186773833707947

6436 次点击
所在节点    iDev
60 条回复
K1W1
2025 年 5 月 16 日
感谢分享
MacsedProtoss
2025 年 5 月 16 日
该怎么说呢 一时语塞…
git hooks 触发 GitHub actions ,里面去跑编译再把产物打包到 cloudflare pages 才是正解 你这纯纯的 ai 项目啥也不懂在这“踩坑”
Hyxiao
2025 年 5 月 16 日
我去,这 credits 消耗看得都肉疼。。。
jworg
2025 年 5 月 16 日
开始猜谜,你大概是遇到这个问题吗 https://github.com/unovue/shadcn-vue/issues/815 。都写代码的,写这么长感觉重点都没说出来,就好像说我有个大宝贝一样。
ratazzi
2025 年 5 月 16 日
你这在哪部署都会 “踩坑” 坑不一样而已
bgm004
2025 年 5 月 16 日
nextjs 部署到 Cloudflare 只有 Static export 这一种方式吧?好像这种方式很多功能就不能用了。
beyondstars
2025 年 5 月 16 日
没听懂,是在 35 次提交之前那个 commit 建一个新分支,然后手动一步一步用手去写后边的 35 个 commit? 要不然我不能理解怎么就“耗费大量代价时间和金钱”,你都知道问题在哪儿了,对症下药不就得了。
BadFox
2025 年 5 月 16 日
@jworg 我看了两遍才大概看懂他想表达啥,感觉楼主表达能力确实太堪忧了。
flydogs
2025 年 5 月 16 日
一天时间算浪费吗?
murmur
2025 年 5 月 16 日
也就是说楼主在不看价格的情况下,用了最贵的模型,然后来抱怨 AI 贵了
b1
2025 年 5 月 16 日
page 部署有输出过程日志的,某种原因没成功,应该有报错的
N0vermber11
2025 年 5 月 16 日
表达能力堪忧,token 耗这么快也就合理了(手动狗头
ooxiaoming
2025 年 5 月 16 日
老哥有几年经验呀,感觉经验差了点
HanMu
2025 年 5 月 16 日
不知道是我理解有问题,还是楼主真该去学学语文了。看的好累==
esee
2025 年 5 月 16 日
看完不知道重点是什么
jojobo
2025 年 5 月 16 日
正常的,我当初也贪图 cloudflare 的免费服务,一心想把服务放在 cloudflare 上,折腾了不少时间,而且国内访问还经常出问题,最后还是回到了 vercel
dilidilid
2025 年 5 月 16 日
你要不下次让 AI 帮你精炼一下吧
sdrpsps
2025 年 5 月 16 日
Nuxtjs 没用过不了解...
现在在 Cloudflare 上部署 Nextjs 有两种方式:
1. Cloudflare Pages (使用 @cloudflare/next-on-pages 这个库)
2. Cloudflare Worker (使用 @opennextjs/cloudflare 这个库,更新)

我个人用下来是使用 Cloudflare Worker 来部署是最好用的,因为 Pages 能做到的 Worker 也能做到。

在编码过程中,使用 Pages 需要到处 `export const runtime = 'edge';` 才能正常调用 Cloudflare D1/R2 之类的 API ,并且在 edge runtime 也使用不了一些功能;但使用 Worker 就不需要了,对照文档该怎么写就怎么写,不用再考虑 runtime 的东西了。

在部署前,完全可以先在本机 build 一遍,找到问题再部署嘛
goldeye0351
2025 年 5 月 16 日
我感觉 cloudflare 的 pages 很好用呀, 我的是 shadc + nextjs15+supabase . 官方有说明的,很好用呀
meigesir
2025 年 5 月 16 日
@K1W1 谢谢楼主兄弟^_^

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1132129

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX