我正在尝试使用nginx部署我的React应用。
我遇到的问题是更改路线时,例如/ about实际上并不会更新前端,而是保留在索引上。
这是我在站点中可用的配置:
server {
listen 80 default_server;
server_name server_ip_here;
root /sites/FrontEnd/React/build;
index index.html;
access_log /var/log/nginx/krim.com.access.log;
error_log /var/log/nginx/krim.com.error.log;
location / {
try_files $uri /index.html;
}
}
这是路由器:
import {Redirect, BrowserRouter as Router,Route,Switch} from 'react-router-dom';
<Router>
<CookieConsent buttonText="Accept">
</CookieConsent>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/About" component={Over}/>
<Route path="/FAQ" component={FAQ}/>
</Switch>
</Router>
现在,页面索引已加载,但是使用nginx时转到my-ip / About或my / FAQ没有任何作用。
现在使用npm start
可以正常工作,此外,使用serve -s build
也可以正常工作,所以这似乎是我对nginx配置错误的事情。
我们非常感谢您的帮助,
编辑:
更正后,本地serve
可以工作,但在远程vm上也不能工作。
答案 0 :(得分:0)
您是否尝试过在自己的计算机而不是VM上构建它(假设您正在使用其中一个)?
答案 1 :(得分:0)
我在自己的PC上构建了该软件包,然后将其上传到了vm,现在可以正常工作了。