Как исправить ошибку пути при развертывании приложения обратной сборки в Apache Tomcat - PullRequest
0 голосов
/ 16 февраля 2019

Я разработал приложение реагирования и создал производственную сборку, используя "npm run build".Когда я помещаю эти файлы сборки в папку webapps (с именем ldap) apache tomcat, запускаю сервер и захожу на «http://localhost:8080/ldap/" по этой ссылке, она показывает 404 ошибки для всех статических файлов.

Я посмотрелво вкладке сети и увидел, что все мои статические файлы обслуживаются с http://localhost:8080/static/css/main.4e0cec6e.chunk.css, отсутствует ссылка "ldap" в ссылке (http://localhost:8080/ldap/static/css/main.4e0cec6e.chunk.css)

Есть ли способ решить эту ошибку.

1 Ответ

0 голосов
/ 16 февраля 2019

Поскольку вы монтируете свое приложение React в подкаталоге, вам нужно решить пару вещей.

Первым было бы установить опору базового имени в вашем маршрутизаторе, это говорит вашему приложению React о том, что оно будет смонтировано в подкаталоге.

<Router basename={'/your-directory'}>
  <Route path='/' component={SomeComponent} />
</Router>

Следующее, что вам нужно сделать, этоустановить параметр домашней страницы в вашем файле package.json.Вы задаете полный URL своего приложения.

"homepage": "https://yourapp.com/your-directory"

И третье, и последнее, что вам нужно сделать, это обновить ваши ссылки и маршруты.

Пример для маршрута:

<Route path={`${process.env.PUBLIC_URL}/`} component={HomeComponent} />
<Route path={`${process.env.PUBLIC_URL}/other-dir`} component={SomeOtherComponent} />

Пример для ссылки:

<Link to={`${process.env.PUBLIC_URL}/other-dir`}>Link to /other-dir</Link>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...