IE11 Angular 2 ошибка "Ожидаемый идентификатор, строка или номер"
Ну, я создал сайт, используя Angular 2. Когда я запускаю команду "ng-serve" и пытаюсь протестировать мой сайт, используя " http://localhost:4200" в Google Chrome и IE11 он работает отлично, но если я создам проект с помощью "ng-build -prod", запустите его в IIS. Сайт по-прежнему работает в Chrome, но IE11 показывает следующие ошибки:
![Ожидаемый идентификатор, строка или номер]()
Я просмотрел его и обнаружил, что это, возможно, зарезервированные слова в моих идентификаторах: пары значений. Поэтому я добавил Apostrophes (') вокруг моих ключей.
Например, у меня был следующий объект:
user:UserViewModel={
Username:"",
Age:0
};
and changed this to:
user:UserViewModel={
'Username':"",
'Age':0
};
Также удалены последние запятые в ключах: пары значений и импортированные core.js в polyfills.ts
Ответы
Ответ 1
Основная проблема: IE имеет режим совместимости по умолчанию. И IE 11 имеет некоторые проблемы с режимом совместимости.
В соответствии с следующим вопросом ответьте Angular 2/4, не работающий в IE11
Когда я попытался отключить режим совместимости, он отлично работает.
Но обычный пользователь не отключится от режима совместимости. Поэтому я хочу найти хорошее решение для этого.
Затем я нашел следующую форму решения отключить режим совместимости IE с помощью тегов
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Ответ 2
Я искал его и обнаружил, что это, возможно, зарезервированные слова в моих идентификаторах: пары значений.
Нет. Это не относится к IE11.
Fix
Скорее всего, вы используете сырые файлы .ts
. Вы должны размещать (в тэгах script) вложенные/построенные файлы .js
.