大多数人实际上并不把 Next.js 用作后端
发布: (2026年1月15日 GMT+8 19:43)
3 min read
原文: Dev.to
Source: Dev.to

引发争论的 LinkedIn 帖子
一个月前,我在 LinkedIn 上分享了一篇标题为 “大多数人实际上并未将 Next.js 用作后端。” 的帖子。
该帖子吸引的关注远超我的预期,甚至在 Reddit 上引发了一场获得超过 500 赞的讨论:
https://www.reddit.com/r/webdev/comments/1pqrqfv/i_guess_ive_been_using_nextjs_the_wrong_way/
为什么这种模式有问题
- 许多开发者声称使用 Next.js 构建 全栈 应用,但所有数据获取都在客户端进行。
- 每个请求直接从浏览器发送到外部 API,这意味着 没有服务器端逻辑、没有后端职责,也 没有真正利用 Next.js 的后端功能。
在这种情况下,你实际上只是在使用 带有更好路由的 React,并未利用 Next.js 提供的后端特性。
安全影响
- 直接的客户端调用会暴露 API 端点、请求模式,有时甚至会通过环境泄漏或配置错误泄露机密。
- Next.js 旨在将外部服务隐藏在服务器路由之后,确保机密永不传递到浏览器,从而降低攻击面。
性能与控制
- 通过 Next.js 路由请求,你可以更好地控制缓存、限流以及响应的形态。
- 跳过这一层意味着你放弃了 安全、性能和控制。
何时改用 Express
Express 仍然适用于:
- 大型、共享的多客户端 API。
- 需要独立于网页前端的专用 API 层的场景。
如果你的应用是 仅网页,且已经选择了 Next.js,回退到 CRA 风格的架构会破坏安全性和简洁性。
要点
如果你的 Next.js 应用直接向客户端暴露外部 API,就没有按预期使用该框架。
使用合适的工具,更重要的是,正确使用它。 👍
附加链接
- LinkedIn post: https://www.linkedin.com/in/kenneth-nnabuife-a7a63812a