По умолчанию в angular версии 8 включена дифференциальная загрузка для сборки ng. Однако для тестов ng и ng serve он генерирует только одну сборку ES2015, которая не может быть запущена в IE11.
Существует два способа использования кода ES5 во время подачи, который заставляет приложение angular 8 работать в IE11.
Полностью отключить дифференциальную нагрузку. (Не рекомендуется)
Вы можете отключить дифференциальную загрузку, изменив цель с "es2015" на "es5" в вашем tsconfig. json.
Есть несколько конфигурации для подачи.
Создайте новый tsconfig tsconfig-es5.app. json рядом с tsconfig.app. json со следующим содержимым:
{
"extends": "./tsconfig.app.json",
"compilerOptions": {
"target": "es5"
}
}
В вашем angular. json добавьте два новых раздела конфигурации (узел es5) под сборку и укажите цель обслуживания для предоставления нового значения tsconfig.
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
...
},
"configurations": {
"production": {
...
},
"es5": {
"tsConfig": "./tsconfig-es5.app.json"
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
...
},
"configurations": {
"production": {
...
},
"es5": {
"browserTarget": "<your application name>:build:es5"
}
}
},
Затем вы можете запустить подачу с этой конфигурацией используя следующую команду:
ng serve --configuration es5
Кроме того, содержимое файла списка браузеров, как показано ниже:
> 0.5%
last 2 versions
Firefox ESR
not dead
IE 9-11 # For IE 9-11 support, remove 'not'.