Typescript-将导入的对象断言为类的静态属性

时间:2019-03-07 22:06:45

标签: node.js typescript

具有这两个文件:

ErrorCodesEnum.ts:

export const ErrorCodesEnum =
{
    generic: {
        NOT_FOUND: 'NOT_FOUND',
    },
    //...

}

Main.js:

import {ErrorCodesEnum} from "../enum/ErrorCodesEnum";

export class ErrorFactory {
    public static CODES: ErrorCodesEnum; //error: see below.
}

我在Main.js中遇到以下错误: 导出类的公共静态属性“ CODES”具有或正在使用私有名称“ ErrorCodesEnum”。

有没有办法可以在静态类属性中使用某些导入的模块? 谢谢。

1 个答案:

答案 0 :(得分:1)

您不能使用ErrorCodesEnum作为类型,因为它不是类型。您可以使用typeof运算符来引用其类型:

public static CODES: typeof ErrorCodesEnum;

或者,如果您只是尝试将ErrorCodesEnum分配给CODES,只需省略类型并直接设置值即可:

public static CODES = ErrorCodesEnum;