Конфигурация веб-приложения доступна в качестве переменных среды на сервере. Вы не сможете получить доступ к этим переменным в приложении stati c реагировать, которое работает на клиенте.
Вам понадобится какое-то промежуточное программное обеспечение , способное считывать и выставлять переменные среды через API.
Вы можете использовать ASP. NET Core с шаблоном проекта React для создания обоих, ASP. NET Core проекта, который действует как API и стандарт Проект CRA React действует как пользовательский интерфейс, но с удобством размещения как в одном проекте приложения, который может быть собран и опубликован как единое целое. ( Источник ).
Тогда вам придется написать небольшой контроллер, который выставляет конфигурации. Вот пример:
public class MyOptions
{
public string ApiUri { get; set; }
}
[ApiController]
[Route("[controller]")]
public class ConfigurationController : ControllerBase
{
private readonly MyOptions _options;
public ConfigurationController(IOptions<MyOptions> options)
{
_options = options.Value;
}
[HttpGet]
public MyOptions GetConfigurations()
{
return _options;
}
}
Вам также необходимо настроить параметры в startup.cs :
public void ConfigureServices(IServiceCollection services)
{
services.Configure<MyOptions>(Configuration.GetSection(nameof(MyOptions)));
services.AddControllers();
}
Теперь вы можете установить начальное значение в пределах appsettings. json:
{
"MyOptions": {
"ApiUri" : "https://myapp.domain.com/api"
}
}
И вы также можете перезаписывать параметры, используя Azure Конфигурации веб-приложения (промежуточное ПО также настроено на использование переменных среды и что Переменные окружения перезаписывают настройки приложений. json)
Теперь последнее, что вам нужно сделать, - это получить настройки в вашем пользовательском интерфейсе stati c, используя:
window.location.host + "/api/configuration"