我正在编写我的第一个Node / React / Express / Next应用程序。
我不确定收到请求时如何执行服务器端代码。
有请求时,我需要从服务器磁盘上获取一些数据。我正在尝试从我的pages目录中的javascript文件中执行此操作,但是无法从此处访问“ fs”模块。我想那是因为浏览器必须执行代码(这让我感到困惑,因为我认为next.js意味着服务器正在处理代码并向后导出html)。
我已经在这个问题上进行了很多搜索,似乎找不到答案。这很奇怪,因为这必须是Web应用程序的最基本要求之一。也许解决方案是如此基本,而我只是忽略了明显的方案?
任何人都可以从React / Express / Next应用程序中的/pages/xxx.js文件中进行服务器端处理(例如,从服务器磁盘读取文件)的简短说明或正确方向的指针。 ?换句话说,如何或在何处访问“ fs”模块?
我得到的错误是“ ModuleNotFoundError:未找到模块:错误:无法解析/ pages中的'fs'
谢谢
答案 0 :(得分:0)
您的next.js应用程序分为两部分,一部分在客户端和服务器上运行(将页面呈现为HTML),另一部分仅在服务器上运行(查找页面并公开通过HTTP)。
您只想在服务器上完成 ,并且通常在路由框架express
的范围内完成。 Next.js旨在简化创建不需要后端但需要服务器端呈现的SPA的工作。
但是,如果需要,它确实允许修改仅服务器组件。可以在"Custom Server and Routing" section of the docs中找到相关文档。
然后,您可以添加前端可以调用以从后端请求数据的API路由,例如通过重现应用程序可以在React状态下存储的JSON。