朋友们大家好。在开始今天的暴论之前请允许我做一个悲伤的表情。就在几年前我还是个满腔热血的“追新族”谁家框架新、谁家理念潮我就跟谁走。那时候Next.js和它的SSR服务端渲染就像是我前端生涯的一束光照亮了我通往“性能优化”和“SEO友好”的康庄大道。然而现实就像一盆冰水专门浇我这种“追光者”的头。如今当我再次看到项目架构里那个硕大的next文件夹我只想对它说一句“这福气给你你要不要啊”今天我就来好好掰扯掰扯我是怎么从一个Next.js的“舔狗”变成一个逢人就劝“快跑”的吐槽役的。第一宗罪复杂度——把简单问题复杂化的艺术我永远忘不了用create-react-app的日子。多纯粹啊一个index.html一个App.js所有的逻辑都在那儿清清楚楚童叟无欺。写个博客静态页面直接丢到Nginx或者OSS上天下我有。直到我遇到了Next.js。为了一个简单的营销落地页我被迫构建了一个“宇宙级”的项目结构。pages、components、lib、styles、public……光目录就比我的人生规划还复杂。为了获取一点数据我不能再优雅地fetch了。我必须得区分这是getStaticProps静态生成吗还是getServerSideProps服务端渲染或者是getStaticPaths动态静态生成一个简单到爆炸的请求我愣是得考虑它在哪个生命周期、在服务端还是客户端、构建时跑还是请求时跑。我只是想拿个数据展示一下不是想造火箭啊喂这种过度工程化的设计让一个本应简单的UI渲染变成了一场对Node.js后端知识的“高考”。第二宗罪SSR的谎言——说好的“性能”呢“服务端渲染首屏直出性能爆炸”——这是他们当初画的饼。结果呢每次我刷新页面都得眼睁睁地看着浏览器转圈圈等那个该死的Node.js服务器去执行我的getServerSideProps。它要去数据库查数据要去第三方API拿信息还要在服务器上把React组件渲染成HTML字符串。这一套组合拳下来首屏加载的“时间线”被无限拉长。用户看到的“白屏”时间从客户端渲染的“下载JS-执行-渲染”变成了“等待服务器响应-下载HTML-下载JS-水合Hydration”。是的你没听错还有个叫“水合”的玩意儿。服务器给你发了个“静态尸体”HTML你的浏览器还得下载一堆JS然后费劲巴拉地给它“注入灵魂”让这个页面“活”过来。这个过程不仅慢而且极其消耗服务器资源。说好的“性能优化”呢我怎么感觉是从“客户端慢”变成了“客户端和服务端一起慢”第三宗罪开发体验的噩梦——VSCode都救不了我曾经我的开发环境简单而美好。npm start然后享受热更新。现在呢next dev一个“看起来很美”的命令背后却是一个巨大的“黑盒”。编译报错天书一样的错误堆栈总是在next/dist的深处等你让你怀疑自己写的到底是JS还是某种神秘学符号。Fast Refresh失灵传说中秒级的更新在稍微大一点的项目里直接变成“慢速刷新”。改一行CSS整个页面给你重新编译一遍等的花儿都谢了。路由全靠文件名pages/blog/[slug]/[...catchAll].js。这种“基于文件系统的路由”在复杂项目里就是一个巨大的迷宫。想找一个页面对应的组件你得先在文件夹里玩一把“密室逃脱”。第四宗罪生态绑架——要么全盘接受要么滚蛋Next.js就像一个控制欲极强的伴侣。它告诉你要用它就得接受它的一切。想用别的路由库不行它是“文件系统路由”原教旨主义者。想换个数据 fetching 的方式不行你得用它的SWR或者React Query而后者也渐渐变得“Next.js 化”。想部署到别的平台行但你会发现Vercel才是它的“亲爹”部署体验和优化支持简直是天壤之别。这哪里是开源框架这分明是Vercel的“免费流量入口”和“付费转化漏斗”。它的哲学是“你不必理解它只需要信仰它。” 然而我信仰的是简单和可控不是一个把我当傻子、强迫我按它规矩办事的“黑盒框架”。结语去它的“全栈”我只要“前端”我知道我知道肯定会有人跳出来说“那是你不会用”、“是你项目太小体会不到它的好处”、“这是未来的趋势”是的也许它适合你适合那个拥有千人团队、需要极致SEO和复杂状态管理的“超级应用”。但对我来说对于我手上那80%的、业务逻辑不算变态、用户量不算巨大的普通项目来说Next.js和SSR就是一场彻头彻尾的“降维打击”——用大炮打蚊子把我和团队都轰得外焦里嫩。所以我受够了。我受够了为了“可能有的性能问题”去引入“绝对有的复杂性问题”。我受够了把我的前端代码绑在一台随时可能崩溃的Node.js服务器上。我更受够了那种为了“全栈”而“全栈”的傲慢。从明天开始我就要把我的项目迁回Vite React React Router。谁爱SSR谁去反正我就要我的纯静态文件。把打包好的文件丢到CDN上让Nginx去处理缓存这种简单、直接、可靠的感觉真好。去你的Next.js去你的SSR。这一次我要夺回属于我自己的“前端自由”