Typescript — присвоение импортированному объекту статического свойства класса

#node.js #typescript

#node.js #typescript

Вопрос:

Наличие этих двух файлов:

Ошибка codesenum.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:

Вы не можете использовать ErrorCodesEnum в качестве типа, потому что это не тип. Вы можете ссылаться на его тип с помощью typeof оператора:

 public static CODES: typeof ErrorCodesEnum;
  

Или, если вы просто пытаетесь присвоить ErrorCodesEnum CODES , просто опустите тип и задайте значение напрямую:

 public static CODES = ErrorCodesEnum;
  

Комментарии:

1. Большое спасибо. На самом деле я неправильно понял некоторые основы.