惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Full Disclosure
博客园 - 聂微东
博客园_首页
人人都是产品经理
人人都是产品经理
N
News | PayPal Newsroom
云风的 BLOG
云风的 BLOG
U
Unit 42
T
Tailwind CSS Blog
Recent Announcements
Recent Announcements
Security Archives - TechRepublic
Security Archives - TechRepublic
T
The Blog of Author Tim Ferriss
Stack Overflow Blog
Stack Overflow Blog
The Register - Security
The Register - Security
The Hacker News
The Hacker News
博客园 - Franky
Engineering at Meta
Engineering at Meta
Jina AI
Jina AI
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
F
Fortinet All Blogs
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Check Point Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
有赞技术团队
有赞技术团队
TaoSecurity Blog
TaoSecurity Blog
博客园 - 司徒正美
GbyAI
GbyAI
G
Google Developers Blog
B
Blog
G
GRAHAM CLULEY
Y
Y Combinator Blog
雷峰网
雷峰网
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
V
V2EX
罗磊的独立博客
Know Your Adversary
Know Your Adversary
AWS News Blog
AWS News Blog
T
Troy Hunt's Blog
S
SegmentFault 最新的问题
P
Privacy & Cybersecurity Law Blog
T
Threat Research - Cisco Blogs
H
Help Net Security
N
Netflix TechBlog - Medium
Help Net Security
Help Net Security
L
LangChain Blog
D
Docker

Next.js

vercel 公布 React Best Practices skills - V2EX 求助在本地环境 nextjs 开发, localstorage 值被清除了问题 - V2EX nextjs 有更优雅的自部署方案么? - V2EX 用 Next.js 写了个站,首页加载太慢了!始终找不到原因 - V2EX 使用 Bun 创建项目时卡住 - V2EX Security Advisory: CVE-2025-66478 Next.js 高危漏洞,建议大家马上升级到最新版,影响 15~ 16 所有版本 - V2EX 宝塔面板如何部署 next.js 项目 - V2EX nextjs16 的 cache component 有点打碎我对 node 服务小而美的印象 - V2EX next.js 对于大量页面的性能真的很差吗,比如打包很慢? - V2EX 分享 Next.js 15.2 之后新版本的一个坑,可能会影响你的 SEO 收录 - V2EX 为啥 nextjs 编译这么慢,除了加物理内存,有啥好的优化建议? - V2EX Next.js 中用什么来管理全局状态,类似 Vuex/Pinia ? - V2EX Next.js 怎样获取当前页面的加载进度? - V2EX 发现很多人不了解 Next.js - V2EX 学习 Next.js 需要先学习什么? - V2EX nextjs 全栈项目可以打包成 Electron 吗 - V2EX 本地开发 Next.js 启动项目后卡顿的不行,有什么优化的空间吗(M1 8G) - V2EX 一个奇怪的想法: nextjs 做前端+ssr, golang 作为后端,有没有搞头 - V2EX Next.js 零日漏洞 CVE-2025-29927 一个请求头直接绕过中间件 发现 Next.js 的一个很愚蠢的 feature。 - V2EX drizzle 中 many-to-many 的表怎么插入更优雅 - V2EX 可以通过简单的配置将主页设置为 home.tsx 吗? 每次导航会有一个 _rsc 参数的请求怎么能阻止 - V2EX 一个 Next.js ISR 失效的可能原因 - V2EX Next.js 的实际开发体验真是一言难尽 - V2EX 小白求教: next.js 项目部署 vercel 环境变量不生效 - V2EX v0.dev 开发的 Next.js 项目,下载代码到本地,怎么跑起来? - V2EX an-desgin 怎么优化编译速度? Next.js 简直是屎啊 - V2EX Nextjs Image 图片组件如何设置透明代理 - V2EX Nextjs,本地运行没问题,部署到服务器会发生这种奇怪的问题(初学者) 这应该算是第一次完整跑通的一个 NextJS 项目了 - V2EX NextJS 开发移动端,最推荐的 UI 组件库是哪个啊? 断断续续学 NextJS 大半年了,练手做了个 Favicon 图标生成网站,大佬帮看看行不行 Nextjs 写的第一个站点, 还是个出海站, UI 怎样才能看起来高大尚? - V2EX 又撸了一个,这次没有多语言和用户登录,快多了 - V2EX 后端没前端基础,学 next 有点困难 - V2EX Next.js 开发时,编译好慢。 - V2EX Next.js 使用场景咨询 - V2EX 根据之前的模板,做了一个高考作文估分玩具,仅供娱乐😁 - V2EX 我的第一个 AI 应用,持续学习中...... - V2EX 大佬们, next-auth 如何本地实现谷歌登录? - V2EX [NextJs] 如何构建复杂的全栈项目 - V2EX NextJS 可以在 route handler 中使用 setTimeOut 吗 - V2EX 关于 Nextjs app router 做全栈写后端的 API 不友好的问题 - V2EX next.js 14 中,如果使用了 server action,怎么 reset form - V2EX 如何在 Next.js 中渲染从 OSS 获取的 JSX - V2EX 有人有这种需求吗?可以通过 AI 来翻译 json 文件,并且可以支持把某个文件夹作为源,把里面的所有 json 文件从一个语言转换成另一个语言。 - V2EX 第一次用 Next.js 创建了一个网站连搬带抄 - V2EX
Next.js 真的是越来越难用了,什么狗屁 use client,不如 Astro 一根,有什么话跟我的岛屿说去吧 - V2EX
u3u · 2025-06-25 · via Next.js

这是一个创建于 354 天前的主题,其中的信息可能已经有所发展或是发生改变。

webwlx

1

webwlx      2025 年 6 月 25 日   ❤️ 1

不懂就问,岛屿是什么

importmeta

4

importmeta      2025 年 6 月 25 日

我用 Astro 专门搞 SSG 的网站. 功能组件也是加的 React 扩展.
目前还没搞 SSR, 打算后期用 Next 搞 SSR.

twig

5

twig      2025 年 6 月 25 日

Next.js 真的是很愚蠢。不只是有的地方要用 'use client',有的地方还莫名其妙变成客户端渲染的时候还得手动加 'use server'。人为地搞得很复杂,导致我觉得自己愚蠢。要不是看到别人抱怨,我还以为是我不配呢。

twig

6

twig      2025 年 6 月 25 日

之前没认真看过 Astro ,多谢分享。它这种架构还挺棒的。

u3u

8

u3u      2025 年 6 月 25 日   ❤️ 1

@twig #5 对,愚蠢至极,我一开始以为服务器组件会参考 Astro 的实现,谁知道他拉了一坨大的😅
而且每个大版本都有一些破坏性改动,一些特殊需求还需要用 Hack 的方式实现,Vercel 团队又固执又傲慢,你必须按照他们的方式来做,烦都烦死

Danswerme

9

Danswerme      2025 年 6 月 25 日   ❤️ 9

React 目前已经和 Next.js 半捆绑了,这才是最烦的。

Plumbiu

10

Plumbiu      2025 年 6 月 25 日

@twig 啥时候莫名其妙会变成客户端渲染,默认不都是服务端渲染嘛

XTTX

11

XTTX      2025 年 6 月 25 日

cal.com 这种级别的 oss 也是最近几个月才搞明白。除了坚定地抄他们的 pattern , 别无他法。X 上大家都苦 Nextjs 久矣。 能用就用吧. 不行就换,tanstack-start 现在用的人也越来越多了。

CHTuring

12

CHTuring      2025 年 6 月 25 日

试试 Tanstack Start

andrew2558

13

andrew2558      2025 年 6 月 25 日

Astro 也要服务器有 node.js 环境吧,不喜欢 next.js 就是因为不想在服务器装 node.js

mouyase

16

mouyase      2025 年 6 月 25 日

已经用 Astro 把自己的博客重构了,感觉就是两个字,自由。

twig

17

twig      2025 年 6 月 25 日

@Plumbiu 你问我,我就装糊涂。啊不,我是真糊涂。Next.js 让我很困扰就对了。

Philippa

18

Philippa      2025 年 6 月 26 日 via iPhone

Tanstack Start 表示很好用

himself65

19

himself65      2025 年 6 月 26 日   ❤️ 7

虽然喜欢不喜欢 next.js 是个人观点,其次楼上的各种说法其实都有些事实错误。

首先你只需要在顶层的组件中开启 use client ,所有子组件也会判断为 client side component 。你们遇到这个问题绝对是每次创建新 page.tsx 的时候没有写 use client ,当然你也可以说“在每个文件”……

其次我个人觉得“选择任何 UI 框架,Astro 给你自动做静态渲染”这个看起来很牛逼的 propaganda 实际上会出很明显的 edge case ,你无法保证所有你写的组件或者你用的依赖都是面向静态的,我认为这会造成很多未预料的事情……当然写博客这种写一次用一辈子的项目可能并不需要考虑这些事情,但我觉得这个事情本身和 Next.js 默认 server side 本质上没有任何区别。

混合框架会很明显的导致整个客户端包体积显著上升,当然你全写的是静态那是另说,但另外我觉得如果一个项目能混用这么多 web 框架,那这个项目本身其实就有点炫技的成分在里面,哪有真产品一下子什么框架都有。

不过 选择性水合( partial hydration )这个事情我倒是很赞同,我目前在一个 react framework 里面也推进了这个特性,不过我觉得群岛概念这个属于新瓶装旧酒,没什么新奇的,你只不过是本来多套一层组件变成了 props 里的保留关键字。

另外我仔细阅读这个文档的时候发现了一个逻辑错误,https://docs.astro.build/zh-cn/guides/server-islands/#%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%BE%A4%E5%B2%9B%E7%BB%84%E4%BB%B6
这里头像回退 GenericAvatar 的 slot fallback 虽然没有写放在哪里,但是我假定是 Avatar 的一个 children ,但是问题来了,如果做到不运行 Avatar 里面的请求代码的同时把 GenericAvatar 插进去。

rocmax

20

rocmax      2025 年 6 月 26 日 via Android

不是一样要标 client:*吗?和 use client 区别在哪?编译器还能帮你检查使用了 hooks 的组件有没有标 use client 。

rocmax

21

rocmax      2025 年 6 月 26 日 via Android

astro 的处理方式像 nuxt ,hydrate-on-*指令

Kiske

22

Kiske      2025 年 6 月 26 日

@Danswerme Vercel 挖走了很多 React 核心开发, 劫持绑架了整个 React 生态圈

user1284

23

user1284      2025 年 6 月 26 日

astro 听起来总感觉像某个偶像团体的名字, 很涩

JustBecause

25

JustBecause      2025 年 6 月 26 日

use client 确实挺 nt 的,我的办法就是管他什么渲染都加上 use client ,出问题再拿掉

v23xowen

26

v23xowen      2025 年 6 月 26 日

确实 Astro 用着很舒服

jguo

28

jguo      2025 年 6 月 26 日

nextjs 能在构建时检测到用户没加 use client 就能自动当 client component 处理,这在技术上没难度。但是一个项目 server 和 client 的边界本来就应该是明确的,写代码的时候如果脑子里分不清楚这个边界可能会出现严重的问题。

EJW

29

EJW      2025 年 6 月 26 日

我一开始只是想起个 reac ,然后 react 推荐我直接用 next ,结果很多页面我就照着原本写法,全用 use client 了

DICK23

30

DICK23      2025 年 6 月 26 日

不是都一样啊? use client 只有你需要使用到 client 端的特性或 API 的时候才需要加,使用到 server action 才需要标记 use server 。

heishu

31

heishu      2025 年 6 月 26 日

现在想写个 csr 、spa 项目,都是用的 react+vite 或者直接 vue 开嗦; react 捆绑 nextjs 真的是太烦了

rocmax

32

rocmax      2025 年 6 月 26 日 via Android   ❤️ 4

@alleluya 在 next Pages router 和 nuxt2 的时代,ssr 意义只在于 SEO 和首屏渲染速度,SEO 不是刚需的话 ssr 不重要,大不了多等几百 ms 。
但是现在 rsc 解决的核心问题是通过 hydration 粒度控制来减少客户端需要下载的 js ,所以即便不注重 SEO 也可以利用 rsc 来提升客户端性能。
当然带来的复杂性就是毕竟服务端和客户端渲染环境不同,顺序不同,所以还需要桥梁来连接这两者,就是 use server 和 use client 。dan 最近发了一篇博客写的很好 https://overreacted.io/what-does-use-client-do/

'use client' is a typed <script>.
'use server' is a typed fetch().

当然 ssr 是不是正确的发展路线我不知道,兴许过几年又回归 client first 。但在 ssr 这条路上我认为 nextjs 是走在前列的,astro 和 nuxt 采用的手动标记 hydration 边界的做法不如 nextjs 的 use client 自然。

alleluya

33

alleluya      2025 年 6 月 26 日

@rocmax #32 ssr 和 rsc 是两个概念啊 我主要一直对 ssr 的收益感觉没那么大 而且现在 SEO 也没那么重要了吧 或者说很多时候有替代方案 这个时候你再上 ssr 的意义是什么呢

xxgw

34

xxgw      2025 年 6 月 26 日   ❤️ 1

SPA: 通过请求一个带有空的 id 的 html 文件,以及一个很大的 js 文件,后续由 js 在浏览器中进行渲染整体的页面。

SSR: 服务端进行加载数据,初次渲染整体的 HTML 页面,后续 JS 水和整个页面使页面具有交互性,并且后续页面导航跳转是通过加载 JSON payload 作为 props 注入到 React 代码中。

RSC: 在服务端渲染 HTML 页面,后续 JS 水和整个页面使页面具有交互性,后续页面导航是 fetch 请求服务端 HTML 页面。

Nextjs 是 SSR 与 RSC ,新版本更多的还是 RSC

Remix 和 Tanstack start 这类目前还只是 SSR

rocmax

35

rocmax      2025 年 6 月 26 日 via Android

@alleluya 你非要抠字眼限定 ssr 就是 pages router 或者 nuxt2 那种模式的话确实没意义。渲染模式就那几种 csr ssr ssg 最多加上 nuxt 提出的 isr ,你认为 rsc 属于哪种?

rocmax

37

rocmax      2025 年 6 月 26 日 via Android

@xxgw rsc 不会水合整个页面,只需要水合 client component 部分

arvinxx

38

arvinxx      2025 年 6 月 26 日

> Astro 自动将每个 UI 组件渲染成仅包含 HTML 和 CSS 的形式

这个和 RSC 没区别呀? RSC 组件默认渲染出来的也是 HTML 和 CSS ,也是不包含任何客户端 JS 的。

> <MyReactComponent client:load />

这个写法和下面这种写法有何区别?一个是外层使用,一个是顶部文件加,有啥区别?

```tsx
'use client';

const MyReactComponent =()=>{ ... }

export default MyReactComponent;
```

不过加载优先级这个的确是更细粒度的一个控制能力,感觉 react 可以把这个也加到 RSC 规范里,能给到开发者更多控制权。

rocmax

39

rocmax      2025 年 6 月 26 日 via Android

@arvinxx 不,react 从 18 开始支持并发模式,可以处理任务的优先级,hydration 并不会阻塞主线程,相当于更加高级的 hydrate-on-idle 。使用 hydrate-on-visible 和 hydrate-on-interaction 实际上是开发者在预测用户的行为,可能导致负优化。

momowei

40

momowei      2025 年 6 月 26 日

next 就是垃圾,吹这个的都是一些所谓个人开发者。
但凡真的用户体验考虑,都不可能用 next 来实现 ssr

SayHelloHi

44

SayHelloHi      2025 年 6 月 26 日

从某个版本开始 路由有 App 路由和 Page 路由

就开始懵了 看着头晕
长时间不写代码 再次写 Next 项目就得去翻文档 😂

Plumbiu

45

Plumbiu      2025 年 6 月 26 日

@rocmax 我觉得你把水和的概念缩小了,水和就是包括还原组件树

beyondstars

46

beyondstars      2025 年 6 月 26 日

这种框架本身是非常 opinionated 的

rocmax

47

rocmax      2025 年 6 月 26 日 via Android
rocmax

49

rocmax      2025 年 6 月 26 日 via Android

@Plumbiu rsc 渲染产物中没有 logic ,也不需要 interactive ,hydrateRoot 会跳过它们直到遇到 use client 。

To hydrate your app, React will “attach” your components’ logic to the initial generated HTML from the server. Hydration turns the initial HTML snapshot from the server into a fully interactive app that runs in the browser.