首页 > 解决方案 > 在 React/Express 应用程序中输入错误的 URL 或刷新会导致所有页面出错,直到用户返回主页

问题描述

我有一个带有 React 前端的 Express.js 应用程序。一切正常,直到我为不存在的资源输入 URL(甚至在?现有 URL 的末尾添加一个):我收到 500“内部服务器错误”,然后甚至导航到一个真实的 URL 之后都会抛出相同的错误. 它只会在返回主页后恢复正常运行(这让我认为问题可能出在 React 方面,我对单页 React 应用程序不了解)。

我在后端看到的错误是:TypeError: path must be absolute or specify root to res.sendFile,它对应于我的代码中的这一位(我将 Express 指向 React 构建文件):

app.use(express.static('../client/build'));
app.get('/*', function(req, res) {
    res.sendFile('../client/build/index.html');
});

处理(或理想情况下,防止)此错误的最佳方法是什么?请注意,它不会使应用程序崩溃,它只需要重新访问主页即可重置。

编辑

即使我只是刷新(工作)页面,它也会导致相同的错误。

标签: node.jsreactjsexpresscreate-react-app

解决方案


推荐阅读