我有两个独立的应用程序:其中一个是带有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
全能解决方案中解析的文件或路径,如何允许从Express到React路由器的直通?
答案 0 :(得分:0)
有点黑客,但我意识到这可能会奏效,我尝试了它确实。您可以更进一步,甚至从req.headers
中提取引荐来源。
request("https://yourwebsite.com/index.html",(error, response, body) => {
res.send(body)
}