Угловые в зависимости от окружающей среды мне нужно экспортировать enum. Я не знаю, правильно ли это или нет? role.ts

import { environment } from '../../environments/environment';
if(environment.production) {
  export enum Role {
   User: 'user',
   Admin: 'admin'
  }
 } else {
  export enum Role {
   User: 'user',
   Admin: 'user'
  }
}

Исходя из условия, как его экспортировать? Спасибо

1
Rijo 28 Окт 2019 в 19:53

2 ответа

Лучший ответ

Сделать это можно так:

import { environment } from '../../environments/environment';
export class Role {
  static User = 'user';
  static Role = (environment.production) ? 'role' : 'admin';
}
1
LALIT KANTA DIBYADARSHAN 28 Окт 2019 в 17:19

Струны Emuns, такие как:

    export enum Role {
       User = 'user',
       Admin = 'admin',
   }

Будет встроено в:

     "use strict";
   Object.defineProperty(exports, "__esModule", { value: true });
   var Role;
   (function (Role) {
       Role["User"] = "user";
       Role["Admin"] = "admin";
   })(Role = exports.Role || (exports.Role = {}));

Итак, как вы можете видеть в конце, ваш enum будет объектом. Вы можете переписать свой код следующим образом

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

    export const Roles = getRole();

    function getRole() {
     if (environment.production) {
       return {
         User: 'user',
         Admin: 'admin'
       };
     }

     return {
       User: 'user',
       Admin: 'user'
     };
    }
0
Victor 28 Окт 2019 в 17:39