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

87 天前
 gneko

具体实现方案大概是:

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

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


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

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

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

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

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

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

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

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

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

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

https://ex.noerr.eu.org/t/1121145

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

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

© 2021 V2EX