问题:
我已经在我公司的内部云中部署了一个React应用程序。它适用于Cloud Foundry。该应用程序确实运行良好,但是存在一个问题。每当我刷新应用程序并且URL不指向根目录(例如myapp.ourcloud.com/my-route)时,都会从NGINX收到错误404。
我正在使用什么:
该应用程序是一个简单的React应用程序。在React Router V4旁边没有安装特殊模块。该代码非常简单,我将BrowserRouter用作应用程序的子级。如前所述,只有3个组件可以简单地通过<Link To=.../>
和<Route path={.../>
进行路由。
到目前为止,我已经尝试过:
我已在根目录中使用pushstate: enabled
在Cloud Foundry文档中声明了一个静态文件。
感谢您的帮助!
答案 0 :(得分:0)
为所有请求提供index.html,然后React路由器将管理所有路由。
但是,如果您有需要访问的端点或某些后端路由,只需为这些路由设置例外,然后为其他所有内容提供index.html。
答案 1 :(得分:0)
我刚刚找到了答案。我将其发布在这里供将来的用户使用:
我的manifest.yml文件具有以下内容:
...
path: build/
...
您只需要将Staticfile从react放到build /文件夹中,而不是放在项目根目录中。还要注意,每次创建项目时,静态文件都会被删除。