我执行npm运行build。
将文件夹名称移动:构建到apache服务器:8080
将构建的文件夹名称重命名为my_web_test
本地服务器上无法正常工作。
项目设置:
package.json> honepage : "http://localhost:8080/my_web_test/"
.env.prodcution> PUBLIC_URL=http://localhost:8080/my_web_test/
index.js
const main_router = '/my_web_test';
<ConnectedRouter history={createHistory()}>
<div>
<Switch>
<Route exact path={'/'} render={() => {
const user_id = sessionStorage.is_login;
if(is_login){
return <Dashboard/>
} else {
return <Redirect to={main_router+'/login'}/>
}
}}/>
<Route path="/login" component={Login} />
<Redirect to={main_router+'/'} />
</Switch>
</div>
</ConnectedRouter>
答案 0 :(得分:1)
使用react router v4,您可以设置基本名称属性。
<ConnectedRouter basename={main_router} history={createHistory()}>
您仍然需要确保服务器实际上使用您的react应用程序将请求映射到html文件。例如,可以使用.htaccess文件来完成此操作。