【问题标题】:Separate Node and React App: Allow Express passthrough to React Router分离节点和 React 应用程序:允许 Express 直通到 React 路由器
【发布时间】:2018-05-30 19:53:56
【问题描述】:

我有两个独立的应用程序:一个是我在 Node 中使用 Express 的 API,另一个是我在 React 中使用 React Router 的前端。

通常,在开发较小的应用程序时,您可能会将服务器代码与客户端代码放在同一个存储库中,但在这种情况下,它们是单独的存储库。如果路由不匹配,我试图允许从 Express 到 React Router 的直通,我们传统上是这样做的:

app.get('*', function(req, res) {
  res.sendFile(path.resolve(__dirname + 'dist/index.html'));
});

看到问题了吗?我的服务器上没有dist 文件夹,所以我没有参考可用的 index.html。我发布 repos 的原因是因为我将所有前端代码上传到 CDN,并且可以将网络请求代理到我的 API。

如果我在 res.sendFile catch-all 中没有要解析的文件或路径,如何允许从 Express 到 React Router 的直通?

【问题讨论】:

    标签: node.js reactjs express nginx react-router


    【解决方案1】:

    有点小技巧,但我意识到这可能会奏效,我试了一下,确实奏效了。您或许可以更进一步,甚至从req.headers 中提取引荐来源网址。

        request("https://yourwebsite.com/index.html",(error, response, body) => {
          res.send(body)
        }
    

    【讨论】:

      猜你喜欢
      • 2017-05-02
      • 2020-11-30
      • 2014-11-25
      • 1970-01-01
      • 2023-03-09
      • 2018-06-09
      • 2017-08-19
      • 2017-10-07
      • 2020-11-21
      相关资源
      最近更新 更多