首页 > 解决方案 > Angular 5 环境变量访问问题

问题描述

在播放此示例https://github.com/awslabs/aws-cognito-angular-quickstart时,我遇到了一些问题。代码是https://github.com/awslabs/aws-cognito-angular-quickstart/blob/master/src/app/service/user-login.service.ts

import { environment } from "../../environments/environment";

第 26 行

if (environment.sts_endpoint) {
        clientParams.endpoint = environment.sts_endpoint;
    } 

调试时将有环境“未定义”。

我发现在调试模式下,[scope].environment_1.environment什么都有——问题是如何在代码中访问?

这是在 Angular5 上下文中。

标签: angularenvironment

解决方案


在查看了同一项目中的其他代码后,我注意到 congnito.service.ts 的代码绕过了相同的问题,它定义了一个静态变量,然后可以传递静态变量 (_REGION) 而不是 environment.region。但我并不真正了解背后的机制。如果不能使用 environment.region,看起来就违反了闭包原则。

导出类 CognitoUtil {

public static _REGION = environment.region;

推荐阅读