V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
dayeye2006199
V2EX  ›  JavaScript

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

  •  
  •   dayeye2006199 · 55 天前 · 2802 次点击
    这是一个创建于 55 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我是 JS/TS 小白(本职是后端工程师)。
    现在团队有个项目,前端已经用了 Next.JS (配合 TS ),现在在考虑后端的选型,是不是也选择一个支持 TS 的 web 框架,统一语言,方便共享一些数据模型。
    看了一下 Next 的 getServerSideProps ,发觉好像把从数据库里面获取数据(例如调用 ORM)的逻辑写在这个部分也没太大的问题。
    比较复杂的 API 逻辑,比如对接其他第三方的接口,做一些简单的运算,用 API route 似乎也可行。

    想请教一下这么弄会不会有什么问题,代码会不会比较难以管理?
    32 条回复    2022-12-08 09:35:29 +08:00
    TWorldIsNButThis
        1
    TWorldIsNButThis  
       55 天前
    最近看了一些 trpc 的介绍,感觉配合 nextjs 挺爽的
    搞一个 monorepo ,前后端共享类型和数据校验
    loading
        2
    loading  
       55 天前
    nset.js+next.js ???
    dayeye2006199
        3
    dayeye2006199  
    OP
       55 天前 via Android
    @loading 不,只有 next.js
    ifdef
        4
    ifdef  
       55 天前   ❤️ 2
    Next.JS 是一个基于 React 的服务端渲染( SSR )框架,它可以帮助开发人员快速构建服务端渲染的 React 应用程序。

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

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

    by chatgpt
    cktsun
        5
    cktsun  
       55 天前 via Android
    如果你主力開發 web, nextjs 是一個非常好的選擇

    但是如果你需要桌面端程式和手機端程式的整合, 純 react 可能會更好
    loading
        6
    loading  
       55 天前
    @dayeye2006199 #3 我是推荐你 nest.js 写后端
    wunonglin
        7
    wunonglin  
       55 天前
    你需要的是 nest.js
    BugCry
        8
    BugCry  
       55 天前 via Android
    挺好用的,搭配 knex.js ,小项目一把梭
    BugCry
        9
    BugCry  
       55 天前 via Android
    来人,给 @ifdef 。。。换上敌军的衣服!
    jeesk
        10
    jeesk  
       55 天前
    @cktsun 老哥是对岸敌占区的同志? 哈哈
    wateryessence
        11
    wateryessence  
       55 天前
    nestjs
    zhouyg
        12
    zhouyg  
       55 天前
    不能,nextjs 是重渲染的框架,偏前端,还缺少重数据逻辑的部分
    ucun
        13
    ucun  
       55 天前
    可以,nextjs 也能处理后端逻辑。可以看文档,也可以看自带模板的 api 目录。
    KENNHI
        14
    KENNHI  
       55 天前 via Android
    我建议是用你们团队熟悉的后端技术
    windfarer
        15
    windfarer  
       54 天前   ❤️ 1
    34C
        16
    34C  
       54 天前
    用 next.js 做过至少 10 个 fullstack 小网站了
    api route 做前后端分离的页面不要太爽
    加个 sequelize 就有数据库 orm 了
    hlwjia
        17
    hlwjia  
       54 天前
    对于小项目或者试水型的项目,用 Next.js 太方便了
    hlwjia
        18
    hlwjia  
       54 天前
    做一些面向海外的项目,直接 firebase ,啧啧啧,香
    chenzhe
        19
    chenzhe  
       54 天前 via iPhone
    这两天刚开始写。
    Express+NextJS
    dayeye2006199
        20
    dayeye2006199  
    OP
       54 天前 via Android
    @chenzhe 会把一些数据的接口定义放在公共的目录下前后共享吗?
    skenan
        21
    skenan  
       54 天前 via iPhone
    https://create.t3.gg/ 试试这个 trpc typescript tailwindcss prisma
    amlee
        22
    amlee  
       54 天前
    @dayeye2006199 你要是把业务逻辑放到 nextjs 里面写,那 nextjs 跟 php 没啥区别了。如果想统一技术栈,建议后端用 express,koa,或者 nestjs
    charlie21
        23
    charlie21  
       54 天前 via Android
    nest.js
    renhou
        24
    renhou  
       54 天前
    前端 SPA 框架:React
    前端 SSR ,SSG 框架:Next.js (最新版本已经放弃了 getServerSideProps API )
    后端框架:Nest.js Koa.js
    前后端全栈框架:Blitz.js
    以上均为基于 js 支持 ts 的框架

    如果你想前后端(相对)统一:Nest.js Koa.js
    如果你想开发全栈:Blitz.js
    如果你只考虑后端:Java Go Python...
    ryougifujino
        25
    ryougifujino  
       54 天前
    可以,有人这么做。
    cheerxl
        26
    cheerxl  
       54 天前
    nextjs + prisma
    cheerxl
        27
    cheerxl  
       54 天前
    slert
        28
    slert  
       54 天前
    只能说是同构 谈不上 fullstack
    nikolai
        29
    nikolai  
       54 天前   ❤️ 1
    ragnaroks
        30
    ragnaroks  
       54 天前
    可以,但是不建议,next 本身还是偏前端,没有 next 、express 那些偏后端或底层的功能。

    如果你的后端需求只是简单的逻辑计算和数据处理,比如天气预报、数据转图表、用户管理等,可以用。
    wanacry
        31
    wanacry  
       54 天前
    在理论上,Next.JS 可以作为 fullstack 框架来使用。它提供了 server-side rendering 的功能,可以在 getServerSideProps 函数中处理数据库访问和调用 ORM 等操作。

    但是,这并不意味着 Next.JS 是一个专为 fullstack 开发而设计的框架。它主要还是针对前端开发的,并且有一些局限性,比如对于比较复杂的后端逻辑,可能不太适合使用 Next.JS 。

    因此,如果团队项目需要一个专为 fullstack 开发设计的框架,可能还需要考虑其他选项,比如 Express 、Koa 等框架。

    在使用 Next.JS 作为 fullstack 框架时,可能会导致代码难以管理,因为 Next.JS 没有提供特定的后端管理工具,所有的业务逻辑都需要在一个文件中编写和维护。

    因此,使用 Next.JS 作为 fullstack 框架需要谨慎考虑,并确保团队成员都有足够的经验和能力来管理和维护这样的代码。
    twinsant
        32
    twinsant  
       51 天前
    @wanacry 看着好像 chatGPT 回答的。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   1513 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 144ms · UTC 13:17 · PVG 21:17 · LAX 05:17 · JFK 08:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.