最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

单独的节点和反应应用程序:允许Express直通到React路由器

IT培训 admin 7浏览 0评论

单独的节点和反应应用程序:允许Express直通到React路由器

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

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

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

看到问题?我的服务器上没有dist文件夹,因此我没有提供index.html。我打破回购的原因是因为我将所有前端代码上传到CDN,并且可以将网络请求代理到我的API。

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

回答如下:

有点黑客,但我意识到这可能会奏效,我尝试了它确实。您可以更进一步,甚至从req.headers中提取引用者。

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

单独的节点和反应应用程序:允许Express直通到React路由器

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

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

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

看到问题?我的服务器上没有dist文件夹,因此我没有提供index.html。我打破回购的原因是因为我将所有前端代码上传到CDN,并且可以将网络请求代理到我的API。

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

回答如下:

有点黑客,但我意识到这可能会奏效,我尝试了它确实。您可以更进一步,甚至从req.headers中提取引用者。

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

评论列表 (0)

  1. 暂无评论