如何在接口声明文件中导入枚举(d.ts)

时间:2017-12-07 18:34:15

标签: typescript import enums

我希望使用需要传递枚举的方法扩展string。如何将该枚举导入声明文件?

CapitalizationStyle.tsx:

export enum CapitalizationStyle {
    None = 0,
    Lowercase = 1,
    Word = 2
}

StringExtensions.d.ts:

import { CapitalizationStyle } from "Utils/CapitalizationStyle"; //This line breaks everything.

declare interface String {
    applyCapitalizationStyle(this: string, style: CapitalizationStyle): string;
}

导入会破坏接口声明,就像声明不再存在一样。添加导入后,String类的所有扩展实现都将变为无效:

StringExtensions.tsx:

enter image description here

最小可重复的示例项目:https://wetransfer.com/downloads/d1a707c0ac734985b877058967c35a6820171212143715/410f48

2 个答案:

答案 0 :(得分:2)

由于您没有从该模块进行默认导出,您需要将其包装在{}中:

import { CapitalizationStyle } from "Utils/CapitalizationStyle";

答案 1 :(得分:0)

尝试用花括号括起来,如下所示:

app

因为您没有默认导出自定义枚举。