如何在角度不同的环境下检查特征是否正确? [英] How to check feature is true on different environments in angular?

查看:0
本文介绍了如何在角度不同的环境下检查特征是否正确?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是ANGLE中的不同环境,存储在环境文件夹中,如下所示:

environment.ts
environment.dev.ts
environment.prod.ts

在环境.ts文件中,我有:

export const environment = {
  production: false,
  environment: 'Development',
  advanced: {
    features: true
  }
};
仅当环境的高级特性等于True时,我才想在页面中显示div元素。我正在考虑做以下事情:

import { environment } from './environments/environment';
export class AdvancedComponent implements OnInit {
  advancedFeatures:boolean;
  
  constructor() { }

  ngOnInit() {
    this.advancedFeatures= environment.advanced.features;

    if (this.advancedFeatures){
      console.log("true");
    }
    else {
      console.log('false');
    }
  }

}

如果环境是dev或prod,这是否足以隐藏或显示div元素?这是从环境中使用高级功能的好方法,还是应该以某种方式将所有环境导入到这个类中?

推荐答案

您的environment.ts是导入环境文件时使用的默认配置。

并且Angel之所以能够在构建期间选择正确的环境文件,是因为使用了其配置设置中的fileReplacements部分(see ng docs)。这样可以确保您在代码中使用正确的environment.advanced.features值。

fileReplacements中的prod版本类似,您可以定义任何类型的设置(即dev or testing),并参考相应的环境文件。

至于您的方法的可行性--就我个人而言,我更喜欢使用访问角色来定义用户可以查看的页面,但我也看不出您的方法有什么特别的缺点。

这篇关于如何在角度不同的环境下检查特征是否正确?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆