我在模块“some-lib”中有一个枚举定义。我想从模块的命名空间中重新导出它,如下所示:

import { PaymentType } from 'some-lib';

namespace Payout {
    export enum PaymentType = PaymentType;
}

我没有运气。我想这样做是为了给枚举别名并将其放入另一个 namespace ,以避免与具有相同名称的其他类型发生冲突。我不想在我的代码中定义枚举的重复副本,而不必维护所有枚举值。

目前Typescript是否有任何支持方式?

最佳答案

是的,有一种方法可以做到这一点,例如:

import { PaymentType as _PaymentType } from 'some-lib';


namespace Payout {
  export import PaymentType = _PaymentType;
}

或者:
import * as SomeLibTypes from 'some-lib';


namespace Payout {
  export import PaymentType = SomeLibTypes.PaymentType;
}

引用:https://github.com/Microsoft/TypeScript/issues/20273#issuecomment-347079963

关于typescript - 从 namespace 重新导出Typescript枚举?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47701270/

10-11 10:32