Угловой компилятор - ожидается символ без членов

Это кажется довольно распространенным вопросом на данный момент. Пожалуйста, смотрите здесь и здесь.

Это перечисление бросает исключение для меня:

export enum UserRole {
  CareGiver = 0,
  CareReceiver = 1
}

Ошибка:

ERROR in Illegal state: symbol without members expected, but got {"filePath":"C:/Users/William-Work/Desktop/findchildcare/src/app/shared/enums/user_role_enum.ts","
le","members":["CareGiver"]}.

ERROR in ./src/main.ts
Module not found: Error: Can't resolve './$$_gendir/app/components/app/app.module.ngfactory' in 'C:\Users\William-Work\Desktop\findchildcare\src'
 @ ./src/main.ts 3:0-89
 @ multi ./src/main.ts

Может кто-нибудь уточнить, поддерживается ли мое перечисление enum в Angular?

Может ли кто-нибудь предложить решение этой проблемы?

Мой package.json содержит:

"@angular/animations": "^4.1.3",
    "@angular/common": "^4.1.3",
    "@angular/compiler": "^4.1.3",
    "@angular/core": "^4.1.3",
    "@angular/forms": "^4.1.3",
    "@angular/http": "^4.1.3",
"@angular/platform-browser": "^4.1.3",
    "@angular/platform-browser-dynamic": "^4.1.3",
"@angular/cli": "^1.1.2",
    "@angular/compiler-cli": "^4.1.3",
    "@angular/language-service": "^4.1.3",

Я также пробовал это 4.0.0 и 4.3.0, та же проблема.

1 ответ

Как упоминал здесь janousek, ошибка произошла из-за этого кода в angular:

// Stop simplification at builtin symbols or if we are in a reference context
if (expression === self.injectionToken || expression === self.opaqueToken ||
    self.conversionMap.has(expression) || references > 0) {
    return expression;
}

Исправлено было бы понизить версию 4.2.X, например, 4.2.6.

Другие вопросы по тегам