我在同一台机器上有一个Express服务器和一个具有Reach Router的React应用。我使用服务器发送静态文件,也发送API。
我的简化服务器看起来像这样:
app.use(router);
app.use(express.static(path.resolve(__dirname, "client", "build")));
app.get("*", (req, res) => {
res.sendFile(path.resolve(__dirname, "client", "build", "index.html"));
});
路由器处理所有API调用的位置。在开发中,我可以使用浏览器访问我的API。但是,当访问build/
React App时,浏览器会从Reach Router返回我的404
组件,而不是从API返回JSON。
这仅在浏览器上发生,curl
返回预期的JSON。
最大的问题是我有一条/login
路由应由服务器处理,因为它重定向到OAuth
,但不是重定向,而是为我的静态文件和404
组件提供服务出现。
我该如何解决?