[英]How to make Express server use React routes?
以前我的服务器在端口 5000 上运行,我的 react 应用程序在端口 3000 上运行。我将通过端口 3000 访问它,它会对端口 5000 进行 API 调用。
但我现在遇到的问题是,我在应用程序上的所有路由器都不起作用。 When I go to http://localhost:5000/ my homepage shows up fine, but if I go to http://localhost:5000/1 or whatever, it says it cannot get those pages.
我是 MERN 堆栈的新手,这是我第一次尝试让服务器发送构建文件。 我应该搜索什么来解决这个问题? 我怎样才能解决这个问题? 我的猜测是我必须重写 app.get 才能发送正确的文件,但我的构建只有一个文件,所以 IDK 该怎么做。 我宁愿不必重写我的整个服务器。
您在这里没有.htaccess
和nginx
和任何其他 URL 重定向器。 你可以用快递处理它:
app.get('*', (req,res) =>{
res.sendFile(path.join(__dirname+'../poll/build/index.html'));
});
在您的特快路线之后。
React route 在浏览器上进行路由。 但在这里路由是在服务器端完成的。 无论您请求哪个 url,您都应该始终在反应应用程序中返回 index.html。
如果你想同时使用服务器端路由和浏览器路由,你可以在反应中使用 HashRouting
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.