2025 快过完了,有 ssr 需求的项目现在最佳选择是什么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
asen001
V2EX    React

2025 快过完了,有 ssr 需求的项目现在最佳选择是什么?

  •  
  •   asen001 3 天前 3506 次点击

    之前用过 nextjs app router 体验一坨,热更新很慢,很吃内存,而且 "use server" "use client" 开发起来挺麻烦,写到后面直接 全部 "use client"。

    react router v7 怎么样,有人用过吗,求分享,接了个小活不想花时间踩坑。

    26 条回复    2025-10-30 09:34:07 +08:00
    DICK23
        1
    DICK23  
       3 天前   3
    tanstack start
    zhengfan2016
        2
    zhengfan2016  
       3 天前
    我觉得 nextjs 还好吧,我是基本按照下面的去拆封的,一般 page 就放一个骨架,然后剩下的按功能拆

    - common // 公共业务组件
    -- navbar.tsx
    -- sidebar.tsx
    - list.tsx // client 的 list 页
    - page.tsx// 页面骨架

    page route 时代过来不适应很正常
    nnccree
        3
    nnccree  
       3 天前
    react router 我的个人项目在用,开发体验挺好的
    我也不太喜欢 nextjs 的 use server, use client 的繁文缛节
    plumk
        4
    plumk  
       3 天前
    强烈推荐 nextjs app router 模式配合 server action ,连 api 都不用写了
    codehz
        5
    codehz  
       3 天前
    nextjs 那玩意是 rsc ,不是 ssr 。。。这俩玩意看着类似实际差异巨大
    zy445566
        6
    zy445566  
       3 天前
    next.js 在没有 Ai 前 我是觉得这个代码设计和框架还挺丑陋的 但是有 Ai 后 我觉得它是 Ai 最友好的框架 目前没有碰到敌手 不需要切换前端和后端 基本几句话 整个项目都可以用 Ai 搭起来 而且它目前也算是最方便用 Ai 修改功能的框架 说个功能前后端直接干了 它感觉是运气好恰好踩中风口了

    其它框架感觉用 Ai 写没有 next.js 那么顺 要么切前后端 Ai 理解业务难度还是要比使用 next.js 高不少
    asen001
        7
    asen001  
    OP
       3 天前
    @zy445566 区别大吗,我用 AI 写 vue react 普通的 vite 项目都感觉还行啊,nextjs 有什么和 AI 更契合的地方呢?仅仅是前端和后端能写在一起?
    avenger
        8
    avenger  
       3 天前 via iPhone
    Next.js 16 刚发布,开发速度快了很多
    XCFOX
        9
    XCFOX  
       3 天前   2
    从 Remix 用到 React Router v7 ,非常好,生产环境跑得很稳。

    小项目用过 Next.js ,跟 React Router v7 比完全是倒退:
    - Next 用 "use server", "use client" 区分服务端组件和客户端组件,React Router v7 用 .server.jsx 和 .client.jsx 区分服务端组件和客户端组件,React Router 正常太多了;
    - Next 的打包器 Turbopack 比 Vite 慢太多了,开发体验严重倒退;
    - Remix 提出的 loader 比 RSC 好用一百倍,获取数据纯函数就行了,RSC 非得和视图耦合在一起,RSC 还有一堆限制,完全不是正常的 React 组件;
    Immortal
        10
    Immortal  
       3 天前
    Astro?
    asen001
        11
    asen001  
    OP
       3 天前
    @Immortal 这个感觉更适合静态为主的网站
    helloet
        12
    helloet  
       3 天前
    @DICK23 #1 +1 ,开发体验比 nextjs 好多了
    stimw
        13
    stimw  
       3 天前
    最近两年没写过前端了,rsc 不在 vercel 部署还有什么特别的好处吗?一直觉得这玩意有点鸡肋。
    laoona
        14
    laoona  
       3 天前
    试试这个: https://doc.ssr-fc.com/
    zy445566
        15
    zy445566  
       3 天前
    @asen001 #7
    功能不分前后端,一起的话,可以直接完成功能。你可能主要是写前端,我主要是项目为主,前后端都要自己搞,之前是 nest.js+react 两个项目分开,很多时候后端的(nest.js)完成度就不太好(瞎写大量无效代码,就算正确,前端接口也需要我去改),或者说如果单抽一个 Ai 不知道怎么去做一个完整的功能,但是使用 next.js ,AI 本身也可以把前后端都考虑进去,接口和页面都一起完成,上下文多了很多,就能更好实现功能,我体验下来效果至少是前后端分开的 10 倍有余,尤其是后端的代码编写。

    当然如果仅仅是前端开发,不需要自己写后端倒还好。
    rocmax
        16
    rocmax  
       3 天前 via Android
    rsc 要比传统的 ssr 超前一些,主要是在组件层面将静态部分和动态部分分开渲染。而 ssr 只是强调服务器可以直接返回 HTML ,如果你只有 SEO 方面的需求就没必要上 rsc 。这两者之间的区别就是客户端的 js 文件大小和静态部分需不需要 hydrate ,需要更加极致客户端体验的话就用 rsc 。
    其实 nuxt ,astro ,tanstack start 等各家都在搞 Partial Hydration 。处理服务器和客户端边界的时候都有类似的操作,要么用指令,要么用特定函数名,要么分离文件,本质是一样的。不存在 use server/client 比较复杂的问题,毕竟执行环境不一样,不这么限制不行。
    bbbblue
        17
    bbbblue  
       3 天前
    写到后面全部 use client 可还行
    一般最外层的 page 还保持 server component 用来获取需要的数据 里面需要交互的组件抽出来 有点像 remix 的 loader 用法

    不过 nextjs16 又多了一个 use cache 强制 dynamic content 必须 use cache 或者被 Suspense 这点改动其实挺好的 但用起来有点难受 特别是有 path params 的时候。。
    哎 蛋疼
    JiRouWaZi
        18
    JiRouWaZi  
       3 天前
    @zy445566 怎么不说 jsp 、php, 历史代码语料多, 顺利的一批; nextjs ,团队就有问题,不值得使用他们的
    zaneliu
        19
    zaneliu  
       3 天前
    tabc2tgacd
        20
    tabc2tgacd  
       3 天前
    有 ssr 需求的,我仍然继续 express+nunjucks ,这个组合还是挺好用的。
    hutoer
        21
    hutoer  
       3 天前
    astro +1
    clarkethan
        22
    clarkethan  
       3 天前
    @DICK23 +1 ,tanstack 家的产品都很好用
    est
        23
    est  
       3 天前
    只会 astro 的路过。
    ttys000
        24
    ttys000  
       2 天前
    Rails
    zhongchunfeng
        25
    zhongchunfeng  
       2 天前
    nextjs 生态好 ai 支持非常友好
    Dyon
        26
    Dyon  
       1 天前
    use client 是 rsc 的标准,跟 next 本身无关,不想用你直接就在顶层写一个 use client 不就好了
    https://reactrouter.com/how-to/react-server-components
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2596 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 13:14 PVG 21:14 LAX 06:14 JFK 09:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86