路由MERN路由在localhost上工作但不在webserver上工作

问题描述 投票:0回答:2

我的基于MERN的网站正在运行,www.only4laugh.com,它打开正常我可以通过点击funcards缩略图访问其他页面,它在此链接(http://www.only4laugh.com/preview/0/jokes/world_record)中显示动画预览。但问题是当我复制粘贴这个相同的链接直接到另一个选项卡然后它显示错误“无法GET /预览/ 0 / jokes / world_record”,我很困惑为什么它在我的本地主机上工作正常,我需要这个预览卡与自定义图像。由于反应路线,我不知道为什么会这样?或者可能是基于NGNIX的问题......在节点上我只是服务app.get(“/”)来服务index.html。

node.js reactjs routing
2个回答
0
投票

当使用客户端路由时,node路由应该是app.get("*"),这基本上意味着匹配所有传入请求并始终返回index.html。 完整的URL将由客户端的路由机制保存和处理。 另一个选择是为每个选项声明一个路线,但我确信这不是你的意图。


0
投票

无论如何在尝试了很多东西之后,我知道这个问题是在使用基于JS的客户端应用程序(如React / Angular或其他有路由器)时...问题是当我们通过网站链接或网站提供的其他链接导航网站时请求由客户端处理,但当我们刷新浏览器或在addessbar上手动键入一些URL时出现问题,原因是当使用时这样做然后请求转到客户端旁边的服务器端,我们确实路由到客户端和服务器不知道刷新或在地址栏上输入一些网址后使app断开,所以我发现的解决方案是我们需要做服务器端渲染,这就是我得到的,https://tylermcginnis.com/react-router-cannot-get-url-refresh/

无论如何,这不是我们的错,继续尝试,不要担心错误,因为它使我们成为人类,失败让我们成长。

© www.soinside.com 2019 - 2024. All rights reserved.