javascript - NextJS 与 Express

标签 javascript node.js express next.js

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .


9 个月前关闭。


社区在 4 个月前审查了是否重新打开此问题并将其关闭:

原始关闭原因未解决






Improve this question




我对 nodeJS 后端开发还很陌生,并且在选择 NextJS 和 ExpressJS 来在我的下一个项目中学习和使用时感觉有点卡住了,我对 ExpressJS 有一些想法,比如构建 api,但不太清楚NextJS,就像每次我在 Google NextJS 和 ExpressJS 上搜索时一样,我都会得到“NextJS vs React”相关的结果。
因此,如果有人可以帮助他们了解他们的身份,他们的区别等,我们将不胜感激
干杯

最佳答案

ExpressJS 与 NextJS:有什么区别?
关于每个框架的一点点:

1.) What is Express.js?


ExpressJS: Express.js ,或简称为 Express,是 Node.js 的后端 Web 开发框架。 .它旨在用于开发 Web 应用程序和 API。它被称为 Node.js 的事实上的标准服务器框架。
This StackOverflow answer更详细地解释了 Express 是什么。

2.) What is NextJS?


下一个JS: Next.js 是用于生产的 react 框架。
让我们揭穿这句话:
  • 《框架》 :它有很多内置功能(例如文件路由替换 react-router-dom )可以帮助您解决常见问题。
  • “为了 react ” :NextJS 只是增强了您的 React 应用程序并为它们添加了更多功能。
  • “用于生产” :对于几乎所有生产就绪的 React 应用程序,您都需要解决某些问题。 NextJS 为您解决了这些问题。

  • Next.js 为您提供生产所需的所有功能的最佳开发人员体验:混合静态和服务器渲染、TypeScript 支持、智能捆绑、路由预取等。不需要配置。
    ExpressJS 与 NextJS 功能
    ExpressJS 的一些特性是:
  • 鲁棒路由
  • HTTP 助手(重定向、缓存等)
  • 查看系统支持14+模板引擎

  • Next.js 提供了以下关键特性:
  • 零设置。将文件系统用作 API(您不需要 Express 来构建全栈应用程序)
  • 服务器端渲染 (SSR)
  • 静态站点生成 (SSG)
  • 单页申请 (SPA)
  • 开发更快的应用程序
  • 页面优化
  • SEO网站
  • 自动分码

  • 结论
    Express.js 是 用于构建 API 的后端框架 而 Next.js 是 基于 React 的全栈框架改善项目的 SEO、开发体验和性能。这些功能之一是一个内置的 API 路由系统,它 可以替换 Express.js。
    这完全取决于您的情况和您的个人喜好。如果您正在构建一个不需要被搜索引擎找到的私有(private)页面(只能通过身份验证访问的管理面板),则不需要 Next.js,而需要 Express.js。如果您正在构建一个公共(public)网站(例如电子商务网站)并且您正在使用 Next.js 进行 SEO 优化,您 可以用它替换 Express.js。
    TLDR; 您可以用 NextJS 的 API 路由系统替换 Express API,但这仅在您构建全栈 React 项目时才有意义。如果它是一个独立的 API,那么使用 Next.js 来替换那个 API 没有任何意义。

    关于javascript - NextJS 与 Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69918766/

    相关文章:

    node.js - 如何在所有 Handlebars 页面中获取 Express Session 变量,现在我每次都渲染它,我希望它只完成一次

    node.js - 如何在对话流中获取先前的意图

    node.js - 在检查了各种解决方案后,如何修复 'TypeError: Network Request Failed'错误?

    express - 有什么理由在 Electron 应用程序中使用 Web 服务器(Express)?

    JavaScript:如何获取指定时区的日期时间

    javascript - 在 JavaScript 中显示文本文件

    javascript - 将 Selenium 引用到 javascript 按钮时遇到问题。 [Python]

    c# - CORS 请求的资源上不存在 'Access-Control-Allow-Origin' header

    node.js - 当对象中字段未定义或丢失时从elasticsearch获取数据

    javascript - TypeError : req. checkBody不是一个包含bodyparser和expressvalidator模块的函数