【问题标题】:re-export Typescript enum from namespace?从命名空间重新导出 Typescript 枚举?
【发布时间】:2018-05-21 22:14:45
【问题描述】:

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

import { PaymentType } from 'some-lib';

namespace Payout {
    export enum PaymentType = PaymentType;
}

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

Typescript 目前有什么方法支持这个吗?

【问题讨论】:

    标签: typescript typescript2.0


    【解决方案1】:

    是的,有办法做到这一点,例如:

    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

    【讨论】:

    • 优秀!如此简单,但我永远也想不出正确的语法。谢谢!
    • 我收到以下错误:@babel/plugin-transform-typescript 不支持 import =` 请考虑在 Typescript 的 --allowSyntheticDefaultImports 选项旁边使用 import <moduleName> from '<moduleName>';
    猜你喜欢
    • 2019-07-22
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 2011-10-28
    • 2018-03-30
    • 2020-07-01
    • 2012-10-18
    • 2016-06-20
    相关资源
    最近更新 更多