programing

각도:약속, 지도, 세트 및 반복자를 찾을 수 없습니다.

padding 2023. 3. 19. 19:53
반응형

각도:약속, 지도, 세트 및 반복자를 찾을 수 없습니다.

Angular후에서 Angular를 찾을 수 가 계속 합니다.Promise,Map,Set ★★★★★★★★★★★★★★★★★」Iterator.

까지는 , 은 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★Promise내 코드가 작동할 수 있게 말이야

import {Component} from 'angular2/core';
@Component({
    selector: 'greeting-cmp',
    template: `<div>{{ asyncGreeting | async}}</div>`
})
export class GreetingCmp {
    asyncGreeting: Promise<string> = 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'.

각도 5 (타입 스크립트 포함)^2.0.0

이것은 이전 버전의 Angular 2+에서도 동일하게 동작합니다.

이것을 typescript 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"
    ]
  }

typescript 2.0.0의 @types에 대한 자세한 내용은 다음과 같습니다.

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

설치 예:

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

중복 식별자 오류

이는 중복된 ecmascript 6 타이핑이 이미 오래된 es6-shim 이외의 장소에서 Import되고 있기 때문일 가능성이 높습니다.

체크 ★★★★★★typings.d.ts에 대한 es6에 대한 삭제해 주세요.es6타이핑 디렉토리가 있으면 참조해 주세요.

예:

은 것은 with with with with with with with with with with with with with with this와 합니다.types:['core-js']json.typings.json.json.typings.json.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-베타30

를 하고 있는 는, Angular-CLI 의 합니다.typings.json핵심형

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

Angular CLI를 사용하는 Webstorm/Intelij 사용자

타이프 스크립트「CLI」 「CLI」 「CLI」 「CLI」 「CLI」 「CLI」. 를 , 를 할 수 있습니다.ng serve★★★★★★ 。

여기에 이미지 설명 입력

Tsconfig 컴파일러 옵션 lib vs 유형

핵심 js 유형 정의를 설치하지 않으려는 경우 typescript와 함께 제공되는 es6 라이브러리가 있습니다.은 이, 해, the, 를, 를, the, the, the을 통해서 쓰입니다.lib: []속성을 지정합니다.

예를 들어, https://www.typescriptlang.org/docs/handbook/compiler-options.html 를 참조해 주세요.

주의: --lib를 지정하지 않으면 기본 라이브러리가 삽입됩니다.삽입되는 기본 라이브러리는 : --target ES5: DOM, ES5, ScriptHost for --target ES6: DOM, ES6, DOM 입니다.Itable, ScriptHost

dr;dr

입니다."lib": [ "es6", "dom" ] ★★★★★★★★★★★★★★★★★」"types": ["core-js"]하여 을 해결할 수 .can't find Promise,Map, Set and Iterator그러나 둘 다 사용하면 중복 식별자 오류가 발생합니다.

또한 코드가 Promise 객체를 생성하려고 할 때도 동일한 문제가 발생합니다.「 Promise not found 」

System.config({...)를 삭제하는 솔루션을 포함하여 stackoverflow에서 발견된 솔루션을 시험했다.))를 사용하여 system.disclos를 형성하고 index.disclos에 포함시킵니다.

마침내 나는 그 문제를 풀었다.문제는 index.html에 es6-sim.min.js가 포함되어 있다는 것입니다.단, tsconfig.json에서는 "compilerOptions" 아래의 "target" 속성의 값은 "es5"입니다."es6"로 변경했더니 오류가 사라졌습니다.

각도 2 결승

- es5 지원 (TS 2.0.0+와 완벽하게 연동)

" " "es6-shim되지 않습니다.es6-shim&core-js하다. 제거하다.es6-shimtsconfig.json에 합니다. 아래를 할 수 .core-js, 「」의es5 main.ts

///<reference path="./../typings/globals/core-js/index.d.ts"/>

tsconfig.json

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

- es6 지원

요."target"을 property property로 설정합니다.es6에러는 모두 해소됩니다. 는 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★.es6맷합니니다다

angular-2.0.0-rc.4로 갱신

TLDR;

  1. es6로 전치

    • 에러가 사라집니다(일부 gotcha를 사용).
  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

이 경로를 사용할 경우 typscript 컴파일러가 .d.ts 파일을 찾을 수 있는지 확인해야 합니다.

두 가지 옵션이 있습니다.

a. tsconfig.json이 타이핑 폴더와 같은 레벨인지 확인합니다.

b. main.ts 파일에 angular2 어플리케이션이 부트스트랩되어 있는 참조를 포함합니다.

옵션 A: tsconfig.json이 타이핑 폴더와 같은 레벨인지 확인합니다.

주의: 제외 플래그를 사용하여 입력 폴더를 제외하지 마십시오.

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

옵션 B: 부트스트랩 전에 메인 파일에서 참조(이러한 작업을 수행하지 마십시오):

다른 답변에서 보듯이 이 파일은 Angular에 의해 더 이상 포함되지 않습니다.

main.ts:

/// <reference path="../../typings/globals/es6-shim/index.d.ts" />

Typescript > = 2인 경우 tsconfig.json의 "lib" 옵션이 작업을 수행합니다.타이핑은 필요 없습니다.https://www.typescriptlang.org/docs/handbook/compiler-options.html

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

이게 나한테 효과가 있었어.

파일이 있는지 확인합니다.

이렇게 생겼는데

{
  "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

서버를 재기동합니다.

Promise.resolve() 메서드를 인식하지 못하는 유사한 문제가 있었습니다.tsconfig.json에서 "target" 을 ES5에서 ES6으로 변경했습니다.그것으로 문제가 해결되었다.

이게 도움이 됐으면 좋겠다.

Angular 2가 RC 0이 되었기 때문에 /angular 2/typings/browser.d.ts는 Angular 2 분포의 일부가 아닙니다.파일은 별도로 설치할 수 있습니다.

여기서부터: https://github.com/angular/angular/issues/8513 에는 몇 가지 옵션이 있습니다.나한테 효과가 있었던 건

typings install es6-shim --ambient --save

// In your app.ts
/// <reference path="typings/browser.d.ts" />

TS 부트스트랩 파일에 트리플 슬래시 참조를 추가하지 않고도 이 문제를 해결할 수 있었습니다. ES6(@DatBoi가 말한 것처럼 많은 문제를 야기함) 업데이트 VS2015로 변경합니다.NodeJS "/"/"NPM 설치 " " " " "typings글로벌하게

다음은 몇 가지 단계로 수행한 작업입니다.

  • " " 가 되었습니다.typings'로 the the the the the package.jsonfilename을 클릭합니다.
  • scriptpackage.json " " " / " " "typings【NPM】【NPM】【NPM】【NPM】【NPM】【NPM】【NPM】.
  • typings.json에 있는 되어 있습니다.core-jsES5/ES6는 shim/polyfill을 사용합니다.

이렇게 이야기하겠습니다.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 디폴트 설정을 망치지 않고 수정할 수 있는 가장 깨끗한 방법이라고 생각합니다.

이 문제에 대한 자세한 분석과 자세한 내용은 블로그에 있는 이 게시물을 읽어보시기 바랍니다.

입력 v1.0+에서 Angular2 RC1을 사용하는 경우 다음 명령을 사용합니다.

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

core.ts 정의를 설치하고 main.ts에서 글로벌인덱스를 참조합니다.

/// <reference path="../../../typings/index.d.ts" />

es6-shim 또는 다른 shim 라이브러리를 사용하는 경우 대신 해당 라이브러리의 타이핑을 설치하십시오.

https://github.com/typings/typings/issues/517 를 참조해 주세요.

Angular 5에서 Angular 6으로 업그레이드한 후 이러한 문제가 발생하였습니다.VS2017에서 다음을 수행하여 이 문제를 해결할 수 있었습니다.

  • TypeScript SDK가 Visual Studio Installer를 통해 특정 버전의 TypeScript 2.9에 설치되어 있는지 확인합니다.
  • 모듈 시스템 프로젝트 속성이 tsconfig.json: ES2015와 일치하도록 설정되어 있는지 확인합니다.이것은 tsconfig 파일이 프로젝트의 루트에 있는 경우 자동으로 동기화됩니다.그러나 VS Angular 템플릿을 사용하고 있었기 때문에 이러한 파일은 "ClientApp" 하위 폴더에 배치되어 모듈 시스템 프로젝트 속성이 설정되지 않았습니다.

VS2017 프로젝트 속성

tsconfig.json:

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "lib": [
      "es2017",
      "dom"
    ],
    "module": "es2015",
    "baseUrl": "./"
  }
}

우리 반에서 약속 오브젝트를 만들 때도 같은 문제가 있었습니다.타겟명을 "es6"에서 "es5"로 변경하여 문제를 해결했습니다.

하나의 과 같은을 다시 설치하는 입니다.
"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로 변경할 필요가 없습니다.이후 웹 응용 프로그램은 일부 이전 버전의 브라우저를 지원하지 않습니다.

Visual Studio 2017에서 이러한 오류가 발견되어 이곳에 온 경우 컴파일에 성공하면 위와 같은 문제가 발생합니다.언어 서비스가 tsconfig.json을 선택하지 않기 때문입니다.

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

tsconfig.json의 빌드 액션을 "Content"(우클릭 -> 속성)로 설정해야 VS가 선택합니다.

boot pathboot.ts가 .의 갱신/// <reference path=">../../../node_modules/angular2/typings/browser.d.ts" />약속해 주세요.

angular2 tutorial (tutorial (tutorial) 。
'@types/core-js', 'Duplicate identifier', 'Duplicate identifier'입니다.
"tsconfig.json" lib "tsconfig.json" 입니다.

//"lib": ["es2015", "dom"]

파일 구조는 다음과 같습니다.

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

아래 내용을 앱 상단에 붙여넣으면 문제가 해결됩니다.

/// <reference path=">../../../node_modules/angular2/typings/browser.d.ts" />

저도 같은 문제를 받아서 github https://github.com/angular/angular-cli/issues/1901,에서 찾을 수 있었습니다.typescript@2.0.2.

다운그레이드 の 운 downgrade 。2.0.0글로벌하게, 로컬하게 해결했습니다.

글로벌:

npm uninstall typescript -g
npm cache clean
npm install typescript@2.0.0 -g

로컬: ng new에서 작성한 프로젝트 폴더로 이동합니다.

npm uninstall typescript
npm cache clean
npm install typescript@2.0.0

패키지 내 타이프스크립트 버전도 변경했습니다.에서 오다.^2.0.0로로 합니다.2.0.0로컬 타이프스크립트 설치를 다운그레이드 할 때까지 동작하지 않았습니다.

언급URL : https://stackoverflow.com/questions/35660498/angular-cant-find-promise-map-set-and-iterator

반응형