Я использую встроенный ReactJS, и мой index.js выглядит следующим образом:
ReactDOM.render(
<HashRouter>
<ScrollToTop>
<App />
</ScrollToTop>
</HashRouter>,
document.getElementById("root")
);
Веб-сервер, на котором работает это приложение, прослушивает контекстный путь: / riskprediction-analysis-ui
В моем package.json есть эта запись:
"homepage": "http://mywebsite.com/riskprediction-analysis-ui",
У моего public / index.html есть такой:
<base href="/riskprediction-analysis-ui" />
Мой App.js имеет следующие маршруты:
<Route path="/" exact component={Dashboard} />
<Route path="/models" component={PredictiveModels} />
<Route path="/newmodel" component={NewModel} />
<Route path="/jobs" component={Jobs} />
<Route path="/analysis-rest-api" component={AnalysisRestApi} />
<Route path="/ingest-rest-api" component={IngestRestApi} />
<Route path="/documentation" component={Documentation} />
Когда я запускаю свой сервер локальной разработки, используя npm start
, все выглядит идеально, как я и ожидал. то есть все отрисовывается со стороны клиента.
Например: http://localhost:3000/riskprediction-analysis-ui#/models
Но когда я получаю доступ к этому приложению с сервера (я работаю с ним через приложение на основе Java) и обращаюсь к нему через: http://remote_java_server/riskprediction-analysis-ui#/models
Это становится приложением рендеринга на стороне сервера, т.е. оно отправляется на сервер для каждой страницы Это не то, что я хотел. Что-нибудь, чего мне здесь не хватает?