Угловой компилятор - ожидается символ без членов
Это кажется довольно распространенным вопросом на данный момент. Пожалуйста, смотрите здесь и здесь.
Это перечисление бросает исключение для меня:
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.