gpt4 book ai didi

angular - 注入(inject)服务以填充 environment.ts 文件中的值

转载 作者:行者123 更新时间:2023-12-04 02:58:54 26 4
gpt4 key购买 nike

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

我需要注入(inject) Angular 服务,以填充 environment.ts 文件中的值。因此,应该从服务 (clientAppSettings.service.ts) 中检索 instrumentaionKey。感谢任何指南。

这是 environmen.ts 文件:

export const environment = {
production: false,
appInsights: {
instrumentationKey: 'some-key'
}
};

Angular 服务: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');
}
}

后端 Controller :

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;
}
}
}

appsetting.json:

{
"AppConfig": {
"ApplicationInsights": {
"InstrumentationKey": "some-key"
}
}

最佳答案

你不能在运行时更新 env 文件,它是在构建时 Angular 使用的东西。只需将设置保存在您的服务中,然后从那里拉取它们。

关于angular - 注入(inject)服务以填充 environment.ts 文件中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51098216/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com