У меня есть приложение angular2 (2.0.0) с помощью машинописного текста (2.0.0). В моей TSconfig я компилировать ES6 с этой линии:Приложение Angular2 не работает в IE с ES6 и компилирует ошибки с ES5
"target": "es6",
Он отлично работает в Chrome и Edge, но это не работает в IE11.
Я изменил его целевой ES5, но затем я получаю несколько ошибок компиляции, такие как:
ClientApp\app\services\tenant.service.ts(9,16): error TS2304: Cannot find name 'Promise'.
ClientApp\app\components\manage\users.component.ts(70,31): error TS2339: Property 'json' does not exist on type '{}'.
Это производит выход и во время выполнения, кажется, работает в IE11 и других браузерах (но я не проверял все). Мне все еще не нравятся ошибки компиляции.
У меня есть ядро-js в комплекте. Я думал, что это решение для этой проблемы.
Должен ли я нацелить 5 или 6?
Должно ли es6 работать в IE? Есть ли прокладка, которую я пропускаю?
Как я могу использовать es5 и избавиться от ошибок компиляции?
Вот мой tsconfig.json:
{
"compileOnSave": true,
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false,
"skipLibCheck": true
},
"exclude": [
"node_modules"
]
}
Я использовал es6. Когда я перешел на es5, есть много ошибок. Это всего лишь несколько. Я добавил определение TS следующим образом: /// но все равно получить ошибку , –
с этими TypeDefinition вы все еще получаете ошибку в обещании? с этим тоже: /// . По крайней мере, ошибка Promise должна исчезнуть после импорта этого определения TS. –
dokkis
Я вижу, что я нацелен на es5, но если я пытаюсь использовать Promise, он импортирует из node_modules/typescript/lib/lib.es2015.promise.d.ts – dokkis