У меня есть вопрос, как правильно настроить мой маршрутизатор, потому что я думаю, что это неправильно. Раньше у нас было приложение, которое рендерило все после /
(/ login, / register, / dashboard и т. Д.), Но после того, как мы добавили клиента перед ним, приложение, запущенное с сервера, получило только пустую страницу. (пример / логин, пример / регистрация и т. д.)
В основном я думаю, что причина в том, что веб-сервер не обслуживает внешнее приложение, но когда он это делает, он не распознает путь.
const tenantBase = (window.location.pathname.split('/'))[1];
console.log(tenantBase)
class App extends Component {
constructor(props) {
super(props);
this.state = {
globalClientNumber: Auth.customerId,
};
}
render() {
return (
<div className='switchContainer'>
<Switch>
<Route exact={true} path={`/${tenantBase}/`} component={Login} />
<Route exact={true} path={`/${tenantBase}/login`} component={Login} />
<Route exact={true} path={`/${tenantBase}/register`} component={Register} />
<Route exact={true} path={`/${tenantBase}/change_password`} component={CPassword} />
<PrivateRoute path={`/${tenantBase}/dashboard`} component={Dashboard} />
</Switch>
</div>
);
}
}
//Private router function
const PrivateRoute = ({ component: Component, ...rest }) => {
return (
<Route
{...rest}
render={props =>
Auth.isAuthenticated === true && Auth.customerId !== '' ? (
<Component {...props} />
) : (
<Redirect
to={{ pathname: `/${tenantBase}/login`, state: { from: props.location } }}
/>
)}
/>
);
};
export default App;
Я искал в интернете, и мне кажется, что я должен использовать web-pack
, но нужно ли это? Я создал свое приложение, используя create-react-app
, поэтому, если мне нужно будет интегрировать его в приложение, это будет катастрофа.