我已经创建并部署了一个完整的 MERN 堆栈应用程序。但是,当我将用户重定向到前端的不同反应路线,然后刷新页面时,收到错误消息。它给了我找不到网址。如何在后端占前端 url?例如,在前端,当用户登录时,他们被重定向到 /transactions
react route,并且一旦加载了路由页面,我就会从后端为该用户获取交易/api/v1/transactions
服务器中的端点。
我尝试通过编写以下内容在任何网址提供 index.html
:
app.get('/*', function (req, res) {
res.sendFile(path.join(__dirname, 'frontend', 'build', 'index.html'));
});
代替
app.get('/', function (req, res) {
res.sendFile(path.join(__dirname, 'frontend', 'build', 'index.html'));
});
但这对我不起作用,因为当我刷新时处于 /transactions
路由中,而不是从端点 /api/v1/transactions
获取事务并将结果置于 Redux 状态, index.html
页面被提取并置于状态,并且提取数据的逻辑给出错误,因为它不是预期的数据。我该如何解决这个问题?