你如何在React应用程序中进行服务器端处理?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你如何在React应用程序中进行服务器端处理?相关的知识,希望对你有一定的参考价值。

我正在编写我的第一个Node / React / Express / Next应用程序。

我不确定如何在请求进入时执行服务器端代码。

当有请求时,我需要从服务器磁盘上获取一些数据。我正在尝试从我的页面目录中的javascript文件执行此操作,但无法从此处访问“fs”模块。我猜这是因为浏览器必须执行代码(这对我来说很困惑,因为我认为next.js意味着服务器正在处理代码并将html导出回来)。

我已经做了很多关于这个问题的谷歌搜索,似乎无法找到答案。这很奇怪,因为这必须是Web应用程序的最基本要求之一。也许解决方案是如此基本,我只是忽略了显而易见的事情?

任何人都可以在React / Express / Next应用程序的/pages/xxx.js文件中提供关于如何进行服务器端处理(例如从服务器磁盘读取文件)的正确方向的简要说明或指示?或者换句话说,我如何或在哪里访问'fs'模块?

我得到的错误是“ModuleNotFoundError:找不到模块:错误:无法解析/ pages中的'fs'

谢谢

答案

您的next.js应用程序分为两部分,部分在客户端和服务器上运行(将页面呈现为HTML),部分仅在服务器上运行(查找页面并通过HTTP公开它们)。

您想要做的只能在服务器上进行,通常在express(路由框架)领域完成。 Next.js旨在使创建不需要后端但需要服务器端呈现的SPA变得容易。

但是,如果需要,它确实允许修改仅服务器组件。有关该文档的文档可以在"Custom Server and Routing" section of the docs中找到。

然后,您可以添加前端可以调用的API路由,以便从后端请求数据,例如,通过撤消应用程序可以存储在React状态的JSON。

以上是关于你如何在React应用程序中进行服务器端处理?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 django 项目中使用 react-router 处理 404 错误

如果你有 apollo react 钩子从后端获取数据,你如何使用 nextjs 进行服务器端渲染?

尽管所有反应路由器版本冲突,如何在反应中进行服务器端渲染?

如何在React JS中使用react-document-meta进行服务器端渲染?

如何在 React/redux 中进行服务器端渲染?

用React处理ajax