一个奇怪的想法: nextjs 做前端+ssr, golang 作为后端,有没有搞头

2025 年 3 月 26 日
 gneko

具体实现方案大概是:

nextjs 和 golang(或者其他语言也行)后端分别是两个 docker ,由 nginx 分发,/api/请求转发到后端上,其它请求转发给 nextjs 。需要做 SSR 的部分,由 nextjs 使用内部通信访问后端。

怎么说呢,就是相当于搞一个高性能后端的同时,还能用到 nextjs 的特性,比如 SSR 等。


(有一种“不如 PHP”的感觉,果然还是 PHP 天下第一吗?)

4281 次点击
所在节点    Next.js
19 条回复
foolishcrab
2025 年 3 月 26 日
你是学生吧,
1. 大规模生产应用都这么干的
2. 不要被所谓的全栈框架忽悠了,现实里在 next 写后端业务很少
3. 企业里你的 nginx 分发这一层实际很复杂
bugsnail
2025 年 3 月 26 日
1 楼正解
YogiLiu
2025 年 3 月 26 日
看到标题的第一反应是:难道不应该这么干?
donaldturinglee
2025 年 3 月 26 日
nextjs 很少写业务,后端取决于你们的系统架构是什么,Nginx 在云上真的很复杂(一脚踏进一个大坑)
shakaraka
2025 年 3 月 26 日
next.js 的应用场景多数在官网之类的 ToC 端,大多数需求不会有复杂的后端,所以可以作为全栈使用,可以理解为现代的 laravel

其次在使用 next.js 后,对于后端的话没什么要求,不存在你说的所谓“相当于搞一个高性能后端”的说法。具体看需求而已。

另外你说的“使用内部通信访问后端”,这个描述的是前端胶水层。SSR 正常情况下只会预加载首屏数据,当然也可以充当胶水层,具体看你怎么用,有没有必要用而已。
nomagick
2025 年 3 月 26 日
真·21 世纪 PHP
learnshare
2025 年 3 月 26 日
本来前后端分离是这么干的。

Next.js 有写后端逻辑的能力,但都是可选的。
如果有独立的 API ,那 Next.js 的优势就是 SSR 。
000sitereg
2025 年 3 月 26 日
SSR 这种就别用了 要是有搞头 PHP JSP 之类的也不会淘汰了。虽然还有地方在用
gneko
2025 年 3 月 26 日
@foolishcrab
@YogiLiu

感谢回复,只是不做这个方向,学 nextjs 业余搞个人项目搞着玩的,不清楚现在业界的通用做法。

当然,个人项目的话没有这么高的性能要求,只是想问一下说如果(自己做什么东西)有了性能要求的,是不是可以这么做。

如果这是常用做法的话,那也算是确认了可行性就放心继续搞了哈哈。
hwdq0012
2025 年 3 月 26 日
我以为正常都是 kubernetes 了 ,ingress 没有带 ssr 吗,
shakaraka
2025 年 3 月 26 日
@hwdq0012 #10 ingress 和 ssr 不是一个东西
fuhanfeng
2025 年 3 月 26 日
7 年前在公司搞过,当然不是 nextjs ,也是类似的支持 SSR 的框架,当时对 SEO 还有要求。

现在都拆掉了,爬虫对纯客户端渲染的支持得也不错了。
dcsuibian
2025 年 3 月 26 日
我有干过,不过是 Next.js+Spring Boot
https://www.v2ex.com/t/971252
时间有点久了,但总体感觉 Next.js 不太好用。如果我没记错的话它好像会在打包时就访问后端 API
gneko
2025 年 3 月 26 日
@dcsuibian 是的,这个是我刚接触 nextjs 时经常遇到的奇怪问题,需要各种各样诡异的 workaround 来绕开。
flmn
2025 年 3 月 26 日
如果你是对外的网站,偏内容,有 seo 需求,用 nextjs 。如果是信息管理类,nextjs 也不需要,直接 spa 静态页面更简单。
lavvrence
2025 年 3 月 26 日
@dcsuibian 打包访问服务端是 SSG (静态页面生成)。
hwdq0012
2025 年 3 月 26 日
@wunonglin 好想也要配置 x509 证书,这个不算加密吗,https 这种和 ssr 不一样吗,我没做过后端,但感觉都是加密
shakaraka
2025 年 3 月 26 日
@hwdq0012 #17 不是一个东西的。
tequ1lAneio
2025 年 10 月 9 日
java/go/py 都可以,尤其是这个 ai 时代,py 后端应用越来越多

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

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

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

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

© 2021 V2EX