Как установить базовый путь к приложению React + .NET Core - PullRequest
1 голос
/ 12 октября 2019

Я работаю над приложением, использующим ASP.NET Core и React (в частности, create-Reaction-app). Это приложение будет размещено на нескольких веб-сайтах с разными подкаталогами (например, один сайт может разместить его на www.example.com/my-website, а другой - на www.example-2.com/my-other-website, поэтомуМне нужно иметь возможность настроить базовый путь для каждого веб-сайта. Я также хочу создать одну сборку, которая будет работать на нескольких сайтах только с изменениями конфигурации.

Это плохо работает с React. -app хочет, чтобы я установил "домашнюю страницу" в package.json во время сборки, что означало бы создание отдельных сборок для каждого сайта. А С помощью реакции-маршрутизатора я должен установить свойство basename (например, <BrowserRouter basename='/my-website'>), что снова требует от менячтобы указать путь.

Обычно в ASP.NET я бы использовал что-то вроде <base href="~/" />, чтобы сделать базовый путь доступным для клиента, но это не работает, если страница отображается в React.

Распространенное решение, которое я видел в Интернете, - это установить переменную среды PUBLIC_URL, которую можно настроить по-разному для каждого веб-сайта, используя dotenv пакет, чтобы установить его из файла. Но я пробовал это, и по какой-то причине это не работает (без сообщений об ошибках, но console.log(process.env.PUBLIC_URL); ничего не печатает).

Как установить базовый путь в React, когда он запускается изASP.NET, а также способом, который можно развернуть по разным URL-адресам без создания новой сборки каждый раз?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...