LINUX.ORG.RU

Webpack - доступ к сервису

 , ,


0

1

Коллеги привет!

Передали мне готовый микросервис, исходники которого пропущенны через webpack, на выходе имею index.html и ~20 js файлов. В index.html указанно какие js-скрипты выполнять. Web-сервер nginx.

Вводная - есть микрофронтенд собран с помощью движка webpack, сервис корректно отдает страницу из корня (/) например, localhost:8080/

Задача - запустить сервис не из корня, а любого относительно корня пути, например localhost:8080/test/ или localhost:8080/etc/
В этом собственно загвоздка, в браузере в консоли разработчика ошибок нет, файлы приложения подгружаются (у всех код 200), но сервис не запускается (пустая страница в браузере). У самого экспертизы по webpack нет, поэтому не понимаю как дебажить. Разработчик подтверждает проблему, т.е. у него также приложение запускается только из корня, но видимо как это фиксить не понимает.

Для себя вижу два пути:

  1. Искать директиву в webpack в которой можно указать корень сервиса (предполагаю, что такая директива должна быть)
  2. Каким-то образом настроить nginx, чтобы при переходе на localhost:8080/test/ приложение думало, что оно запускается из localhost:8080/

Какие мысли у вас?



Последнее исправление: Vitaliy_K (всего исправлений: 1)

Какие мысли у вас?

Мысли такие, что у SPA маршрутизация настраивается унутре приложения, да, даже если не SPA, а обычное, то всё-равно все внутренние запросы ничего не знают про test в относительном пути.

Решается это вариантом с доменом третьего уровня или правкой кода приложения.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)

У самого экспертизы по webpack нет, поэтому не понимаю как дебажить. Разработчик подтверждает проблему, т.е. у него также приложение запускается только из корня, но видимо как это фиксить не понимает.

Ещё есть вариант найти разработчика или админа.

ya-betmen ★★★★★
()

файлы приложения подгружаются (у всех код 200), но сервис не запускается (пустая страница в браузере)

Скорее всего на уровне загрузки приложения всё отлично разруливается само, а вот роутер внутри приложения не ожидает, что есть некий базовый префикс в path.

Естественно, что это нужно настраивать в самом роутере, например, для react-router: https://reactrouter.com/en/main/routers/create-browser-router#basename

static_lab ★★★★★
()
Последнее исправление: static_lab (всего исправлений: 1)
Ответ на: комментарий от firkax

Да эти дурачки тащат в рот чего попало…

Expertise (noun) - компетенция. Но зачем знать английский, если тут черным по белому написано «экспертиза». 🤡

aol ★★★★★
()