服务器在每个请求上发送我的React SPA,并在构建时忽略API路由?

时间:2018-07-10 00:12:13

标签: reactjs express react-router

我在同一台机器上有一个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组件提供服务出现。

我该如何解决?

0 个答案:

没有答案