大多数人实际上并不把 Next.js 用作后端

发布: (2026年1月15日 GMT+8 19:43)
3 min read
原文: Dev.to

Source: Dev.to

Most People Don’t Actually Use Next.js as a Backend 的封面图片

引发争论的 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,就没有按预期使用该框架。

使用合适的工具,更重要的是,正确使用它。 👍

附加链接

Back to Blog

相关文章

阅读更多 »