Угловое: не удается найти Promise, Map, Set и Iterator

После установки Angular компилятор Typcript продолжает получать некоторые ошибки в том, что вы не нашли Promise , Map , Set и Iterator .

До сих пор я игнорировал их, но теперь мне нужно Promise чтобы мой код мог работать.

 import {Component} from 'angular2/core'; @Component({ selector: 'greeting-cmp', template: `
{{ asyncGreeting | async}}
` }) export class GreetingCmp { asyncGreeting: Promise = new Promise(resolve => { // after 1 second, the promise will resolve window.setTimeout(() => resolve('hello'), 1000); }); } Additional information: npm -v is 2.14.12 node -v is v4.3.1 typescript v is 1.6

Ошибки:

 ................ERROS OF MY CODE................. C:\Users\armyTik\Desktop\angular2\greeting_cmp.ts Error:(7, 20) TS2304: Cannot find name 'Promise'. Error:(7, 42) TS2304: Cannot find name 'Promise'. ......................................... C:\Users\armyTik\Desktop\angular2\node_modules\angular2\platform\browser.d.ts Error:(77, 90) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\application_ref.d.ts Error:(83, 60) TS2304: Cannot find name 'Promise'. Error:(83, 146) TS2304: Cannot find name 'Promise'. Error:(96, 51) TS2304: Cannot find name 'Promise'. Error:(96, 147) TS2304: Cannot find name 'Promise'. Error:(133, 90) TS2304: Cannot find name 'Promise'. Error:(171, 81) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\change_detection\parser\locals.d.ts Error:(3, 14) TS2304: Cannot find name 'Map'. Error:(4, 42) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\debug\debug_node.d.ts Error:(14, 13) TS2304: Cannot find name 'Map'. Error:(24, 17) TS2304: Cannot find name 'Map'. Error:(25, 17) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\di\provider.d.ts Error:(436, 103) TS2304: Cannot find name 'Map'. Error:(436, 135) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\linker\compiler.d.ts Error:(12, 50) TS2304: Cannot find name 'Promise'. Error:(16, 41) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\linker\dynamic_component_loader.d.ts Error:(108, 136) TS2304: Cannot find name 'Promise'. Error:(156, 150) TS2304: Cannot find name 'Promise'. Error:(197, 128) TS2304: Cannot find name 'Promise'. Error:(203, 127) TS2304: Cannot find name 'Promise'. Error:(204, 141) TS2304: Cannot find name 'Promise'. Error:(205, 119) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\render\api.d.ts Error:(13, 13) TS2304: Cannot find name 'Map'. Error:(14, 84) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\async.d.ts Error:(27, 33) TS2304: Cannot find name 'Promise'. Error:(28, 45) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\collection.d.ts Error:(1, 25) TS2304: Cannot find name 'MapConstructor'. Error:(2, 25) TS2304: Cannot find name 'SetConstructor'. Error:(4, 27) TS2304: Cannot find name 'Map'. Error:(4, 39) TS2304: Cannot find name 'Map'. Error:(7, 9) TS2304: Cannot find name 'Map'. Error:(8, 30) TS2304: Cannot find name 'Map'. Error:(11, 43) TS2304: Cannot find name 'Map'. Error:(12, 27) TS2304: Cannot find name 'Map'. Error:(14, 23) TS2304: Cannot find name 'Map'. Error:(15, 25) TS2304: Cannot find name 'Map'. Error:(95, 41) TS2304: Cannot find name 'Set'. Error:(96, 22) TS2304: Cannot find name 'Set'. Error:(97, 25) TS2304: Cannot find name 'Set'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\lang.d.ts Error:(13, 17) TS2304: Cannot find name 'Map'. Error:(14, 17) TS2304: Cannot find name 'Set'. Error:(78, 59) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\promise.d.ts Error:(2, 14) TS2304: Cannot find name 'Promise'. Error:(7, 32) TS2304: Cannot find name 'Promise'. Error:(8, 38) TS2304: Cannot find name 'Promise'. Error:(9, 35) TS2304: Cannot find name 'Promise'. Error:(9, 93) TS2304: Cannot find name 'Promise'. Error:(10, 34) TS2304: Cannot find name 'Promise'. Error:(11, 32) TS2304: Cannot find name 'Promise'. Error:(11, 149) TS2304: Cannot find name 'Promise'. Error:(12, 43) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\http\headers.d.ts Error:(43, 59) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\http\url_search_params.d.ts Error:(11, 16) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\platform\browser\browser_adapter.d.ts Error:(75, 33) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\platform\dom\dom_adapter.d.ts Error:(85, 42) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\CoreOperators.d.ts Error:(35, 67) TS2304: Cannot find name 'Promise'. Error:(50, 66) TS2304: Cannot find name 'Promise'. Error:(89, 67) TS2304: Cannot find name 'Promise'. Error:(94, 38) TS2304: Cannot find name 'Promise'. Error:(94, 50) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\Observable.d.ts Error:(46, 62) TS2304: Cannot find name 'Promise'. Error:(47, 42) TS2304: Cannot find name 'Iterator'. Error:(103, 74) TS2304: Cannot find name 'Promise'. Error:(103, 84) TS2304: Cannot find name 'Promise'. Error:(143, 66) TS2304: Cannot find name 'Promise'. Error:(158, 65) TS2304: Cannot find name 'Promise'. Error:(201, 66) TS2304: Cannot find name 'Promise'. Error:(206, 38) TS2304: Cannot find name 'Promise'. Error:(206, 50) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\observable\ForkJoinObservable.d.ts Error:(6, 50) TS2304: Cannot find name 'Promise'. Error:(7, 58) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\observable\FromObservable.d.ts Error:(7, 38) TS2304: Cannot find name 'Promise'. Error:(7, 51) TS2304: Cannot find name 'Iterator'. C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\observable\PromiseObservable.d.ts Error:(9, 31) TS2304: Cannot find name 'Promise'. Error:(10, 26) TS2304: Cannot find name 'Promise'. в ................ERROS OF MY CODE................. C:\Users\armyTik\Desktop\angular2\greeting_cmp.ts Error:(7, 20) TS2304: Cannot find name 'Promise'. Error:(7, 42) TS2304: Cannot find name 'Promise'. ......................................... C:\Users\armyTik\Desktop\angular2\node_modules\angular2\platform\browser.d.ts Error:(77, 90) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\application_ref.d.ts Error:(83, 60) TS2304: Cannot find name 'Promise'. Error:(83, 146) TS2304: Cannot find name 'Promise'. Error:(96, 51) TS2304: Cannot find name 'Promise'. Error:(96, 147) TS2304: Cannot find name 'Promise'. Error:(133, 90) TS2304: Cannot find name 'Promise'. Error:(171, 81) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\change_detection\parser\locals.d.ts Error:(3, 14) TS2304: Cannot find name 'Map'. Error:(4, 42) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\debug\debug_node.d.ts Error:(14, 13) TS2304: Cannot find name 'Map'. Error:(24, 17) TS2304: Cannot find name 'Map'. Error:(25, 17) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\di\provider.d.ts Error:(436, 103) TS2304: Cannot find name 'Map'. Error:(436, 135) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\linker\compiler.d.ts Error:(12, 50) TS2304: Cannot find name 'Promise'. Error:(16, 41) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\linker\dynamic_component_loader.d.ts Error:(108, 136) TS2304: Cannot find name 'Promise'. Error:(156, 150) TS2304: Cannot find name 'Promise'. Error:(197, 128) TS2304: Cannot find name 'Promise'. Error:(203, 127) TS2304: Cannot find name 'Promise'. Error:(204, 141) TS2304: Cannot find name 'Promise'. Error:(205, 119) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\render\api.d.ts Error:(13, 13) TS2304: Cannot find name 'Map'. Error:(14, 84) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\async.d.ts Error:(27, 33) TS2304: Cannot find name 'Promise'. Error:(28, 45) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\collection.d.ts Error:(1, 25) TS2304: Cannot find name 'MapConstructor'. Error:(2, 25) TS2304: Cannot find name 'SetConstructor'. Error:(4, 27) TS2304: Cannot find name 'Map'. Error:(4, 39) TS2304: Cannot find name 'Map'. Error:(7, 9) TS2304: Cannot find name 'Map'. Error:(8, 30) TS2304: Cannot find name 'Map'. Error:(11, 43) TS2304: Cannot find name 'Map'. Error:(12, 27) TS2304: Cannot find name 'Map'. Error:(14, 23) TS2304: Cannot find name 'Map'. Error:(15, 25) TS2304: Cannot find name 'Map'. Error:(95, 41) TS2304: Cannot find name 'Set'. Error:(96, 22) TS2304: Cannot find name 'Set'. Error:(97, 25) TS2304: Cannot find name 'Set'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\lang.d.ts Error:(13, 17) TS2304: Cannot find name 'Map'. Error:(14, 17) TS2304: Cannot find name 'Set'. Error:(78, 59) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\promise.d.ts Error:(2, 14) TS2304: Cannot find name 'Promise'. Error:(7, 32) TS2304: Cannot find name 'Promise'. Error:(8, 38) TS2304: Cannot find name 'Promise'. Error:(9, 35) TS2304: Cannot find name 'Promise'. Error:(9, 93) TS2304: Cannot find name 'Promise'. Error:(10, 34) TS2304: Cannot find name 'Promise'. Error:(11, 32) TS2304: Cannot find name 'Promise'. Error:(11, 149) TS2304: Cannot find name 'Promise'. Error:(12, 43) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\http\headers.d.ts Error:(43, 59) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\http\url_search_params.d.ts Error:(11, 16) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\platform\browser\browser_adapter.d.ts Error:(75, 33) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\platform\dom\dom_adapter.d.ts Error:(85, 42) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\CoreOperators.d.ts Error:(35, 67) TS2304: Cannot find name 'Promise'. Error:(50, 66) TS2304: Cannot find name 'Promise'. Error:(89, 67) TS2304: Cannot find name 'Promise'. Error:(94, 38) TS2304: Cannot find name 'Promise'. Error:(94, 50) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\Observable.d.ts Error:(46, 62) TS2304: Cannot find name 'Promise'. Error:(47, 42) TS2304: Cannot find name 'Iterator'. Error:(103, 74) TS2304: Cannot find name 'Promise'. Error:(103, 84) TS2304: Cannot find name 'Promise'. Error:(143, 66) TS2304: Cannot find name 'Promise'. Error:(158, 65) TS2304: Cannot find name 'Promise'. Error:(201, 66) TS2304: Cannot find name 'Promise'. Error:(206, 38) TS2304: Cannot find name 'Promise'. Error:(206, 50) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\observable\ForkJoinObservable.d.ts Error:(6, 50) TS2304: Cannot find name 'Promise'. Error:(7, 58) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\observable\FromObservable.d.ts Error:(7, 38) TS2304: Cannot find name 'Promise'. Error:(7, 51) TS2304: Cannot find name 'Iterator'. C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\observable\PromiseObservable.d.ts Error:(9, 31) TS2304: Cannot find name 'Promise'. Error:(10, 26) TS2304: Cannot find name 'Promise'. в ................ERROS OF MY CODE................. C:\Users\armyTik\Desktop\angular2\greeting_cmp.ts Error:(7, 20) TS2304: Cannot find name 'Promise'. Error:(7, 42) TS2304: Cannot find name 'Promise'. ......................................... C:\Users\armyTik\Desktop\angular2\node_modules\angular2\platform\browser.d.ts Error:(77, 90) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\application_ref.d.ts Error:(83, 60) TS2304: Cannot find name 'Promise'. Error:(83, 146) TS2304: Cannot find name 'Promise'. Error:(96, 51) TS2304: Cannot find name 'Promise'. Error:(96, 147) TS2304: Cannot find name 'Promise'. Error:(133, 90) TS2304: Cannot find name 'Promise'. Error:(171, 81) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\change_detection\parser\locals.d.ts Error:(3, 14) TS2304: Cannot find name 'Map'. Error:(4, 42) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\debug\debug_node.d.ts Error:(14, 13) TS2304: Cannot find name 'Map'. Error:(24, 17) TS2304: Cannot find name 'Map'. Error:(25, 17) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\di\provider.d.ts Error:(436, 103) TS2304: Cannot find name 'Map'. Error:(436, 135) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\linker\compiler.d.ts Error:(12, 50) TS2304: Cannot find name 'Promise'. Error:(16, 41) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\linker\dynamic_component_loader.d.ts Error:(108, 136) TS2304: Cannot find name 'Promise'. Error:(156, 150) TS2304: Cannot find name 'Promise'. Error:(197, 128) TS2304: Cannot find name 'Promise'. Error:(203, 127) TS2304: Cannot find name 'Promise'. Error:(204, 141) TS2304: Cannot find name 'Promise'. Error:(205, 119) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\render\api.d.ts Error:(13, 13) TS2304: Cannot find name 'Map'. Error:(14, 84) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\async.d.ts Error:(27, 33) TS2304: Cannot find name 'Promise'. Error:(28, 45) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\collection.d.ts Error:(1, 25) TS2304: Cannot find name 'MapConstructor'. Error:(2, 25) TS2304: Cannot find name 'SetConstructor'. Error:(4, 27) TS2304: Cannot find name 'Map'. Error:(4, 39) TS2304: Cannot find name 'Map'. Error:(7, 9) TS2304: Cannot find name 'Map'. Error:(8, 30) TS2304: Cannot find name 'Map'. Error:(11, 43) TS2304: Cannot find name 'Map'. Error:(12, 27) TS2304: Cannot find name 'Map'. Error:(14, 23) TS2304: Cannot find name 'Map'. Error:(15, 25) TS2304: Cannot find name 'Map'. Error:(95, 41) TS2304: Cannot find name 'Set'. Error:(96, 22) TS2304: Cannot find name 'Set'. Error:(97, 25) TS2304: Cannot find name 'Set'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\lang.d.ts Error:(13, 17) TS2304: Cannot find name 'Map'. Error:(14, 17) TS2304: Cannot find name 'Set'. Error:(78, 59) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\promise.d.ts Error:(2, 14) TS2304: Cannot find name 'Promise'. Error:(7, 32) TS2304: Cannot find name 'Promise'. Error:(8, 38) TS2304: Cannot find name 'Promise'. Error:(9, 35) TS2304: Cannot find name 'Promise'. Error:(9, 93) TS2304: Cannot find name 'Promise'. Error:(10, 34) TS2304: Cannot find name 'Promise'. Error:(11, 32) TS2304: Cannot find name 'Promise'. Error:(11, 149) TS2304: Cannot find name 'Promise'. Error:(12, 43) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\http\headers.d.ts Error:(43, 59) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\http\url_search_params.d.ts Error:(11, 16) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\platform\browser\browser_adapter.d.ts Error:(75, 33) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\platform\dom\dom_adapter.d.ts Error:(85, 42) TS2304: Cannot find name 'Map'. C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\CoreOperators.d.ts Error:(35, 67) TS2304: Cannot find name 'Promise'. Error:(50, 66) TS2304: Cannot find name 'Promise'. Error:(89, 67) TS2304: Cannot find name 'Promise'. Error:(94, 38) TS2304: Cannot find name 'Promise'. Error:(94, 50) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\Observable.d.ts Error:(46, 62) TS2304: Cannot find name 'Promise'. Error:(47, 42) TS2304: Cannot find name 'Iterator'. Error:(103, 74) TS2304: Cannot find name 'Promise'. Error:(103, 84) TS2304: Cannot find name 'Promise'. Error:(143, 66) TS2304: Cannot find name 'Promise'. Error:(158, 65) TS2304: Cannot find name 'Promise'. Error:(201, 66) TS2304: Cannot find name 'Promise'. Error:(206, 38) TS2304: Cannot find name 'Promise'. Error:(206, 50) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\observable\ForkJoinObservable.d.ts Error:(6, 50) TS2304: Cannot find name 'Promise'. Error:(7, 58) TS2304: Cannot find name 'Promise'. C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\observable\FromObservable.d.ts Error:(7, 38) TS2304: Cannot find name 'Promise'. Error:(7, 51) TS2304: Cannot find name 'Iterator'. C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\observable\PromiseObservable.d.ts Error:(9, 31) TS2304: Cannot find name 'Promise'. Error:(10, 26) TS2304: Cannot find name 'Promise'. 

Угловое 5 с Typcript ^ 2.0.0

Это должно также работать с более ранними версиями Angular 2+.

Чтобы заставить это работать с машинописным текстом 2.0.0, я сделал следующее.

npm install --save-dev @types/core-js

tsconfig.json

  "compilerOptions": { "declaration": false, "emitDecoratorMetadata": true, "experimentalDecorators": true, "mapRoot": "./", "module": "es6", "moduleResolution": "node", "noEmitOnError": true, "noImplicitAny": false, "outDir": "../dist/out-tsc", "sourceMap": true, "target": "es5", "typeRoots": [ "../node_modules/@types" ], "types": [ "core-js" ] } 

Подробнее о @types с машинописным текстом 2.0.0.

  1. https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/
  2. https://www.npmjs.com/~types

Пример установки:

 npm install --save-dev @types/core-js 

Ошибки повторяющегося идентификатора

Это, скорее всего, потому, что дублирующие экземпляры ecmascript 6 уже импортируются из другого места, скорее всего, в старый es6-shim.

Двойной check typings.d.ts убедитесь, что нет ссылок на es6 . Удалите любую ссылку на es6 из своего каталога типизированных файлов, если у вас есть.

Например:

Это будет противоречить types:['core-js'] в typings.json.

 { "globalDependencies": { "core-js": "registry:dt/core-js#0.0.0+20160602141332" // es6-shim will also conflict } } 

В том числе core-js в массиве типов в tsconfig.json должно быть единственным местом, из которого он импортируется.

Угловой CLI 1.0.0-beta.30

Если вы используете Angular-CLI, удалите массив lib в typings.json . Это, похоже, противоречит объявлению типов core-js в типах.

 "compilerOptions" : { ... // removed "lib": ["es6", dom"], ... }, "types" : ["core-js"] 

Webstorm / Intellij Пользователи, использующие Angular CLI

Убедитесь, что встроенный компилятор машинописного текста отключен. Это будет противоречить CLI. Чтобы скомпилировать ваш машинописный текст с помощью CLI, вы можете настроить конфигурацию ng serve .

введите описание изображения здесь

Tsconfig compilerOptions lib vs types

Если вы предпочитаете не устанавливать определения типа ядра js, есть некоторые библиотеки es6, которые входят в состав машинописного текста. Они используются через свойство lib: [] в tsconfig.

См. Здесь, например: https://www.typescriptlang.org/docs/handbook/compiler-options.html

Примечание. Если -lib не указывается, будет введена библиотека по умолчанию. Введенная по умолчанию библиотека: ► Для –target ES5: DOM, ES5, ScriptHost ► Для –target ES6: DOM, ES6, DOM.Iterable, ScriptHost

ТЛ; др

Короткий ответ "lib": [ "es6", "dom" ] или "types": ["core-js"] может использоваться для разрешения can't find Promise,Map, Set and Iterator . Использование обоих способов приведет к ошибкам повторяющихся идентификаторов.

У меня тоже такая же проблема – «Promise not found» – когда код хочет создать объект Promise.

Попробовал некоторое решение, найденное в stackoverflow, включая тот, который вытащил System.config ({…}) для формирования system.js и включил его в index.html.

Наконец, я решил проблему. Проблема в том, что в index.html включен es6-shim.min.js. Однако в tsconfig.json свойство «target» в разделе «compilerOptions» имеет значение «es5». После того как я изменил его на «es6», ошибка исчезла.

Угловой 2 Финал

– поддержка es5 (отлично работает с TS 2.0.0 +)

На обновление es6-shim теперь не поддерживается, если у вас есть оба набора данных вместе вместе с es6-shim & core-js . Удалите es6-shim typing, указав в tsconfig.json. Теперь вы можете ссылаться ниже на main.ts для поддержки main.ts внутри main.ts

 /// 

tsconfig.json

 exclude: [ "node_modules", //<-- this would be needed in case of VS2015 "node_modules/@typings", "typings" ] 

- es6 suppport

Вам просто нужно установить свойство "target" на es6 , после чего все будет удалено. И преобразованный код будет в формате es6 .

Обновлено с угловым 2.0.0-rc.4

TLDR;

  1. Пересылка на es6

    • ошибка уходит (с некоторыми исправлениями).
  2. Передать на es5

    • установить тиски
    • установить прокладку es6
    • убедитесь, что он скомпилирован с вашим кодом.
    • ошибка уходит.

Для читателей:

Вариант 1: пересылка на es6 или es2015

tsconfig.json:

 { "compilerOptions": { "target": "es6", "module": "system", "moduleResolution": "node", ... }, "exclude": [ "node_modules", "jspm_packages" ] } 

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

Вариант 2: Переместите на es5, установите тиски, а затем установите es6-shim:

tsconfig.json:

 { "compilerOptions": { "target": "es5", "module": "system", "moduleResolution": "node", ... }, "exclude": [ "node_modules", "jspm_packages" ] } 

Установите тиски, затем установите es6-shim:

 npm install typings --saveDev typings install dt~es6-shim --global --save 

Если вы идете по этому маршруту, вам нужно убедиться, что компилятор typescript может найти файл .d.ts.

У вас есть два варианта:

а. Убедитесь, что ваш tsconfig.json находится на том же уровне, что и папка с образцами.

б. Включите ссылку в файл main.ts, где ваше приложение angular2 загружается.

Вариант A: Убедитесь, что ваш tsconfig.json находится на том же уровне, что и папка с образцами.

Примечание. НЕ используйте флаг исключения, чтобы исключить папку типизации.

 project |-- src |-- node_modules |-- package.json |-- typings |-- tsconfig.json 

Вариант B: Ссылка в основном файле перед загрузкой (не делайте этого):

Как показано в других ответах, этот файл больше не включен Angular

main.ts:

 ///  

Это то, что сработало для меня.

проверьте, существует typings.json файл typings.json ,

Это выглядит примерно так,

 { "globalDependencies": { "core-js": "registry:dt/core-js#0.0.0+20160317120654", "jasmine": "registry:dt/jasmine#2.2.0+20160505161446", "node": "registry:dt/node#6.0.0+20160613154055" } } 

Установите типовой пакет по всему миру.

 sudo npm install -g typings 

после установки типографий , запустите

 typings install 

затем перезапустите сервер.

При использовании Typcript> = 2 опция «lib» в tsconfig.json выполнит задание. Нет необходимости в Типиках. https://www.typescriptlang.org/docs/handbook/compiler-options.html

 { "compilerOptions": { "target": "es5", "lib": ["es2016", "dom"] //or es6 instead of es2016(es7) } } 

У меня была аналогичная проблема, когда он не признавал метод Promise.resolve () . Я изменил «целевое» значение с ES5 на ES6 в tsconfig.json . Это решило проблему.

Надеюсь это поможет.

Поскольку Angular 2 перешел на RC 0, /angular2/typings/browser.d.ts больше не является частью распределения Angular 2. Файл может быть установлен отдельно.

Отсюда: https://github.com/angular/angular/issues/8513 есть несколько вариантов. Тот, который работал для меня, был:

 typings install es6-shim --ambient --save // In your app.ts ///  

Если вы используете Angular2 RC1 с типом v1.0 +, используйте команду:

 typings install dt~core-js --save --global 

для установки определения core-js и последующего ссылки на ваш глобальный индекс в вашем main.ts:

 ///  

Если вы используете es6-shim или какую-либо другую библиотеку прокладки, установите вместо этого тиски

См. https://github.com/typings/typings/issues/517

Мне удалось исправить эту проблему, не добавив ссылку на тройной слэш в файл начальной загрузки TS, изменив ее на ES6 (который вызывает кучу проблем, так же, как сказал @DatBoi ) обновляет сборки NodeJS и / или NPM typings или устанавливает typings во всем мире.

Вот что я сделал несколькими шагами:

  • добавлены typings в файле package.json проекта.
  • добавлен блок script в файле package.json для выполнения / обновления typings после каждого действия NPM.
  • добавлен файл typings.json в корневой папке проекта, содержащий ссылку на core-js , который является одним из лучших пакетов shim / polyfill на данный момент, чтобы исправить проблемы ES5 / ES6.

Вот как выглядит файл package.json (только соответствующие строки):

 { "version": "1.0.0", "name": "YourProject", "private": true, "dependencies": { ... "typings": "^1.3.2", ... }, "devDependencies": { ... }, "scripts": { "postinstall": "typings install" } } 

И вот файл typings.json :

 { "globalDependencies": { "core-js": "registry:dt/core-js#0.0.0+20160602141332", "jasmine": "registry:dt/jasmine#2.2.0+20160621224255", "node": "registry:dt/node#6.0.0+20160621231320" } } 

( Jasmine и Node не требуются, но я предлагаю сохранить их на случай, если вам понадобится в будущем).

Это исправление отлично работает с Angular2 RC1 до RC4, что мне и нужно, но я думаю, что он также устранит аналогичные проблемы с другими пакетами с поддержкой ES6.

AFAIK, я думаю, что это самый чистый возможный способ его устранения без испорчения настроек по умолчанию VS2015.

Для получения дополнительной информации и подробного анализа проблемы, я также предлагаю прочитать этот пост .

У меня была такая же проблема при создании объекта обещания внутри моего classа. Меняя целевое имя на «es5» с «es6», я решил проблему.

Другое Возможное решение – переустановить типизацию:
Это работает для меня для "angular2": "2.0.0-beta.15"

  1. npm clean cache
  2. npm install
  3. npm install -g typings
  4. Удалить директорию typings из проекта (каталог, где установлены типовые модули)
  5. typings install
  6. npm run

Еще одно хорошее решение. Вам нужно создать файл typings.json в корневой директории проекта с контентом:

 { "globalDependencies": { "core-js": "registry:dt/core-js#0.0.0+20160725163759", "jasmine": "registry:dt/jasmine#2.2.0+20160621224255", "node": "registry:dt/node#6.0.0+20160909174046" } } 

Затем установите глобальный или локальный пакет типизации, если он не установлен (я устанавливаю его глобально):

 sudo npm install --global typings 

В команде запуска корневого каталога проекта:

 typings install 

После этого проблема решена. Не нужно изменять целевой параметр tsconfig на es6 или es7. После этого веб-приложение не поддерживает некоторые старые версии браузеров.

Я нашел ссылку в boot.ts не правильным путем. Обновление этого пути к /// разрешило ошибки Promise.

Я тренируюсь с помощью angular2 tutorial (hero).
После установки @ types / core-js, прокомментированного в ответах на эти вопросы, я получил ошибку «Duplicate identifier».
В моем случае это было решено как удаление строки lib в tsconfig.json.

// “lib”: [“es2015”, “dom”]

Если вы пришли сюда, потому что видите эти ошибки в Visual Studio 2017, у вас есть другая проблема, как указано выше, если вам удастся скомпилировать. Это связано с тем, что языковая служба не выбирает ваш tsconfig.json.

https://developercommunity.visualstudio.com/content/problem/208941/vs-156-ignores-tsconfigjson-and-typescriptcompileb.html

Вы должны установить действие Build вашего tsconfig.json в «Содержимое» (правый клик -> Свойства), затем VS его поднимет.

моя файловая структура следующая:

 project |--node-modules | |--angular2 | | |--typings | | | |--browser.d.ts |--src |--app.ts 

вставьте ниже в верхнюю часть приложения app.ts, и ваша проблема решена

 ///  

Я получил ту же проблему и смог ее найти в github https://github.com/angular/angular-cli/issues/1901 , в котором говорится, что это была проблема с [email protected] .

Сокращение типов ввода-вывода до 2.0.0 как по всему миру, так и локально помогло мне решить проблему.

Во всем мире:

 npm uninstall typescript -g npm cache clean npm install [email protected] -g 

Локально: входите в папку проекта, созданную ng new

 npm uninstall typescript npm cache clean npm install [email protected] 

Я также изменил версию машинописного текста в файле package.json от ^2.0.0 до 2.0.0 , но это не сработало, пока я не снизил локальную установку машинописного текста.

  • Как установить iframe src в Angular 2 без исключения `unsafe value`?
  • Как загрузить файл с помощью Angular2
  • Как использовать плагин jQuery с угловым 4?
  • Как создать междоменный запрос?
  • Угловой 2 выход с выхода маршрутизатора
  • ExpressionChangedAfterItHasBeenCheckedError Explained
  • Как добавить время отладки к асинхронному валидатору в угловом 2?
  • Typcript / Angular / ES6: могу ли я, наконец, позволить `hasOwnProperty ()` умереть в циклах?
  • Угловой 2 конструктор компонентов Vs OnInit
  • Как определить внутреннее изменение html в div с угловым 2?
  • Angular2 + http с интервалом
  • Interesting Posts

    Можно ли хранить произвольные данные в файле изображения?

    Почему Windows 10 показывает «Возобновить с гибернации» при каждой загрузке, хотя она была отключена правильно?

    Подавление выхода MATLAB

    Программа запускается и появляется в диспетчере задач, но затем выделяет половину моего процессора и сбои

    Изменить формат даты на экране блокировки Win 8.1

    шифрование sqlite для Android

    Есть ли плагин Eclipse для запуска системной оболочки в консоли?

    Не удается найти главный class в файле, составленном с помощью Ant

    Отключение начального экрана MS Office 2013?

    Как изменить оси изображения в MATLAB, чтобы изменить направление?

    Восстановить файлы с мертвой SD-карты в Linux? (Возможно, убит Nokia E71)

    В чем разница между CurrentCulture и CurrentUICulture свойствами CultureInfo в .NET?

    «dragleave» родительского элемента срабатывает при перетаскивании дочерних элементов

    Передача пользовательских параметров в форму symfony2

    Чтение из текстового файла до тех пор, пока EOF не повторит последнюю строку

    Давайте будем гением компьютера.