У меня есть приложение React, созданное с помощью приложения Create React, которое необходимо разместить на IIS в качестве приложения на веб-сайте IIS по умолчанию.
Мое приложение реакции использует реагирующий маршрутизатор 4, и оно BrowserRouter
для клиентской навигации, однако оно не работает должным образом.
Пример кода приложения - https://github.com/mandrive/react-router-iis-problem
На IIS я размещаю свое приложение по URL: http://localhost/myapp
(это веб-сайт по умолчанию на порте 80 на IIS, а myapp - приложение IIS)
Мне нужно разместить подобное приложение на нескольких разных серверах в качестве приложения IIS без указания специфичных для среды значений для package.json
homepage
или BrowserRouter
basename
- поэтому оно должно работать без каких-либо специфических для среды изменений в исходном коде до / после сборки на CI.
Я знаю о перезаписи IIS - я делаю в точности так, как описано здесь https://medium.com/@mateioprea/setting-up-a-react-app-with-react-router-in-iis-71cb86aee376
Единственный способ заставить это работать должным образом, это когда я задаю package.json
"homepage": "./"
и <BrowserRouter basename="myapp">
- чего я не хочу, потому что тогда мне нужно будет заменить эти значения для каждой отдельной среды Я хочу развернуть это приложение.
Возможно ли это? Можно ли разместить React SPA без таких специфичных для среды изменений в IIS?