Angular 注入服务以填充environment.ts文件中的值

Angular 注入服务以填充environment.ts文件中的值,angular,typescript,Angular,Typescript,我有一个angular服务(clientAppSettings.service.ts)。它从后端获取配置值,后端是一个json文件(appsettings.json) 我需要注入角度服务,以填充environment.ts文件中的值。因此,应该从服务(clientAppSettings.service.ts)中检索instrumentaionKey。欢迎任何指导 以下是environmen.ts文件: export const environment = { production: fals

我有一个
angular
服务(
clientAppSettings.service.ts
)。它从后端获取配置值,后端是一个json文件(
appsettings.json

我需要注入角度服务,以填充
environment.ts
文件中的值。因此,应该从服务(clientAppSettings.service.ts)中检索
instrumentaionKey
。欢迎任何指导

以下是
environmen.ts
文件:

export const environment = {
  production: false,
  appInsights: {
    instrumentationKey: 'some-key'
  } 
};
角度服务:
clientAppSettings.service.ts

@Injectable()
export class ClientAppSettingService {
  appUrl: string = "";
  constructor(private http: HttpClient, @Inject('BASE_URL') baseUrl: string) {
    this.appUrl = baseUrl;
  }
  getConfig() {
    return this.http.get<ClientAppSettings>(this.appUrl + 'api/ClientAppSettings');
  }
}

您不能在运行时更新env文件,这是在构建时使用的。只需将设置保存在您的服务中并从中提取即可。

您无法在运行时更新env文件,这是在构建时使用的。只需将设置保存到您的服务中,然后将它们从那里拉出来。

我认为您无法按照您所解释的那样完成()。环境文件用于为特定环境设置一些固定变量


如果您想通过应用程序从后端存储数据,您可以使用一个保存数据的共享服务。

我认为您不能像您所解释的那样进行存储()。环境文件用于为特定环境设置一些固定变量


如果您想通过应用程序从后端存储数据,可以使用保存数据的共享服务。

我不确定您是否可以这样做。可能在某些CI进程的构建时在environment.ts文件中使用令牌替换?我不确定您是否可以这样做。可能在某些CI进程的构建时在environment.ts文件中使用令牌替换?
namespace WebApp.Controllers
{
    [Route("api/[controller]")]
    public class ClientAppSettingsController : Controller
    {
        private readonly AppSettings _clientAppSettings;

        public ClientAppSettingsController(IOptions<AppSettings> appSettings)
        {
            _clientAppSettings = appSettings.Value;
        }

        [HttpGet("[action]")]
        public AppSettings Get()
        {
            return _clientAppSettings;
        }
    }
}
{
"AppConfig": {
        "ApplicationInsights": {
            "InstrumentationKey": "some-key"
        }
}