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

时间:2019-02-18 13:35:30

标签: node.js reactjs express next.js

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

我不确定收到请求时如何执行服务器端代码。

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

我已经在这个问题上进行了很多搜索,似乎找不到答案。这很奇怪,因为这必须是Web应用程序的最基本要求之一。也许解决方案是如此基本,而我只是忽略了明显的方案?

任何人都可以从React / Express / Next应用程序中的/pages/xxx.js文件中进行服务器端处理(例如,从服务器磁盘读取文件)的简短说明或正确方向的指针。 ?换句话说,如何或在何处访问“ fs”模块?

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

谢谢

1 个答案:

答案 0 :(得分:0)

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

您只想在服务器上完成 ,并且通常在路由框架express的范围内完成。 Next.js旨在简化创建不需要后端但需要服务器端呈现的SPA的工作。

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

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