ОК, поэтому я как-то решил свои проблемы, однако, я не совсем удовлетворен решениями:
Исправление проблемы с URL (отсутствует имя репо в URL)
Я добавил свойство basename
в свой маршрутизатор <BrowserRouter basename="/repo-name">
Недостатки: во-первых, он не выглядит хорошо закодированным.Во-вторых, npm start
открывает localhost:3000
, который сейчас пуст.Я должен добавить свое имя репо, чтобы открыть приложение локально, поэтому localhost:3000/repo-name
- не слишком аккуратно.
Исправление проблемы с изображениями (также отсутствует имя репо в URL и, следовательно, не отображаются изображения)
Я добавил переменную process.env.PUBLIC_URL
в URL изображения: const imageUrl = ${process.env.PUBLIC_URL}/assets/img/image.png
.В локальной среде оно пустое, развернуто, оно принимает значение homepage
из package.json
, что составляет https://name.github.io/repo-name
Недостаток: необходимо добавить process.env.PUBLIC_URL
перед каждым изображением, отображаемым в компоненте.
Буду признателен за лучшее решение!