Next.JS 可以作为 fullstack 框架吗?

2022-12-04 16:03:55 +08:00
 dayeye2006199
我是 JS/TS 小白(本职是后端工程师)。
现在团队有个项目,前端已经用了 Next.JS (配合 TS ),现在在考虑后端的选型,是不是也选择一个支持 TS 的 web 框架,统一语言,方便共享一些数据模型。
看了一下 Next 的 getServerSideProps ,发觉好像把从数据库里面获取数据(例如调用 ORM)的逻辑写在这个部分也没太大的问题。
比较复杂的 API 逻辑,比如对接其他第三方的接口,做一些简单的运算,用 API route 似乎也可行。

想请教一下这么弄会不会有什么问题,代码会不会比较难以管理?
6977 次点击
所在节点    JavaScript
34 条回复
TWorldIsNButThis
2022-12-04 16:05:36 +08:00
最近看了一些 trpc 的介绍,感觉配合 nextjs 挺爽的
搞一个 monorepo ,前后端共享类型和数据校验
loading
2022-12-04 16:22:12 +08:00
nset.js+next.js ???
dayeye2006199
2022-12-04 16:37:33 +08:00
@loading 不,只有 next.js
ifdef
2022-12-04 17:05:21 +08:00
Next.JS 是一个基于 React 的服务端渲染( SSR )框架,它可以帮助开发人员快速构建服务端渲染的 React 应用程序。

Next.JS 作为一个前端框架,它本身并不提供后端的功能,所以不能作为 fullstack 框架。如果您需要构建一个全栈应用程序,您需要配合后端框架(如 Express 、Koa 等)来实现。

但是,Next.JS 可以作为前端框架与后端框架的结合体来使用。在这种情况下,Next.JS 可以帮助您快速构建服务端渲染的全栈应用程序,并且还提供了许多方便的功能,如预渲染、路由、代码分割等。这样,您就可以利用 Next.JS 的优点,快速构建高效、可靠的全栈应用程序。

by chatgpt
cktsun
2022-12-04 17:08:14 +08:00
如果你主力開發 web, nextjs 是一個非常好的選擇

但是如果你需要桌面端程式和手機端程式的整合, 純 react 可能會更好
loading
2022-12-04 17:09:09 +08:00
@dayeye2006199 #3 我是推荐你 nest.js 写后端
wunonglin
2022-12-04 17:17:27 +08:00
你需要的是 nest.js
BugCry
2022-12-04 17:46:15 +08:00
挺好用的,搭配 knex.js ,小项目一把梭
BugCry
2022-12-04 17:47:41 +08:00
来人,给 @ifdef 。。。换上敌军的衣服!
jeesk
2022-12-04 18:41:32 +08:00
@cktsun 老哥是对岸敌占区的同志? 哈哈
wateryessence
2022-12-04 18:49:20 +08:00
nestjs
zhouyg
2022-12-04 18:54:54 +08:00
不能,nextjs 是重渲染的框架,偏前端,还缺少重数据逻辑的部分
ucun
2022-12-04 19:06:40 +08:00
可以,nextjs 也能处理后端逻辑。可以看文档,也可以看自带模板的 api 目录。
KENNHI
2022-12-04 21:04:06 +08:00
我建议是用你们团队熟悉的后端技术
windfarer
2022-12-04 21:31:58 +08:00
34C
2022-12-04 21:37:43 +08:00
用 next.js 做过至少 10 个 fullstack 小网站了
api route 做前后端分离的页面不要太爽
加个 sequelize 就有数据库 orm 了
hlwjia
2022-12-04 21:43:52 +08:00
对于小项目或者试水型的项目,用 Next.js 太方便了
hlwjia
2022-12-04 21:45:18 +08:00
做一些面向海外的项目,直接 firebase ,啧啧啧,香
chenzhe
2022-12-05 00:13:00 +08:00
这两天刚开始写。
Express+NextJS
dayeye2006199
2022-12-05 00:50:21 +08:00
@chenzhe 会把一些数据的接口定义放在公共的目录下前后共享吗?

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

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

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

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

© 2021 V2EX