Angular:プロミス、マップ、セット、イテレーターが見つかりません


176

角度をインストールした後、活字体のコンパイラが見つからないといういくつかのエラーを得続けるPromiseMapSetIterator

今までは無視しましたが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'.

1
TypeScript for Visual Studio 2015の最新バージョンをインストールします。
mylesk 16

回答:


177

Angular 5とTypescript ^ 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/~types

インストール例:

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

重複識別子エラー

これは、重複するecmascript 6タイピングがすでにどこかから古いes6-shimからインポートされている可能性が高いためです。

typings.d.tsへの参照がないことを再確認してくださいes6。があるes6場合は、typingsディレクトリからの参照をすべて削除します。

例えば:

これは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それがインポートされる唯一の場所でなければなりません。

Angular CLI 1.0.0-beta.30

Angular-CLIを使用している場合は、でlibアレイを削除しtypings.jsonます。これは、型でcore-jsを宣言することと競合するようです。

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

Angular CLIを使用するWebstorm / Intellijユーザー

組み込みのtypescriptコンパイラが無効になっていることを確認します。これはCLIと競合します。CLIでtypescriptをコンパイルするには、ng serve構成をセットアップします。

ここに画像の説明を入力してください

Tsconfig compilerOptions libとタイプ

コアjsタイプ定義をインストールしたくない場合は、typescriptに含まれている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

tl; dr

短い回答、"lib": [ "es6", "dom" ]または"types": ["core-js"]解決に使用できますcan't find Promise,Map, Set and Iterator。ただし、両方を使用すると、識別子の重複エラーが発生します。


1
アップデートと良い答えをありがとう。今までこのエラーを解消するためにここに来ている人々がいるので、私はあなたの答えを受け入れました。RC 5への回答を更新する可能性はありますか?私はこのエラーに直面しており、あなたの答えに従うことで、promiseを使用することができましたが、node_modules \ @types \ es6-shim \ index.d.tsファイルから多くのエラーがあります:「重複した識別子 'PropertyKey'」。行:6,10,248,283,290など; ..次のエラー:C:\ Users \ armyTik \ Desktop \ rc5 \ store-app-02 \ node_modules \ typescript \ lib \ lib.es2015.core.d.ts:17 :13識別子 'PropertyKey'が重複しています。
Stav Alfi 2016

回答を更新しました。うまくいけば、それは少し物事を明確にするのに役立ちます。これは、RC5とRC4の両方で同じはずです。
Kris Hollenbeck

また、core-jsのみを反映するように変更したので、混乱が少ないと思います。core-jsとes6はどちらもes6固有の型宣言用です。es6-shimよりも多くをカバーしているように見えるので、私はcore-jsを好みます。
Kris Hollenbeck

更新していただきありがとうございます。今回は運がありませんでした。現在のエラーを更新しました。
Stav Alfi 2016

2
おそらく、libがより良い解決策です。github.com/angular/angular/blob/...
アレックス

75

コードがPromiseオブジェクトを作成するときにも、同じ問題「Promise not found」が発生します。

System.config({...})を取り出してsystem.jsを作成し、それをindex.htmlに含める方法など、stackoverflowで見つかったいくつかのソリューションを試してみました。

最後に問題を解決しました。問題は、index.htmlにes6-shim.min.jsが含まれていることです。ただし、tsconfig.jsonでは、「compilerOptions」の「target」プロパティの値は「es5」です。「es6」に変更するとエラーがなくなりました。


2
これも私にとって問題でした。なぜこれがそのエラーを引き起こすのか誰か知っていますか?
Nick Brady

IntelliJ IDEA / WebStormで受け取ったエラーも修正しました
ベントラー2016

5
ただし、すべてのブラウザがes6に対応しているわけではないため、jsコードをes5にトランスパイルする必要があります。誰かが異なるブラウザでes6の問題を抱えていますか?ありがとう!
bmnepali

私にとってangular2.1.0で動作します。コンパイラ2.1.0コア2.1.0 common2.1.0 rxjs5.0.0-beta.12 platform-b​​rowser2.1.0
farhad goodarzi

ありがとうございました!あなたは多くの時間を節約してくれました
CristianTraìna16年

63

Angular 2 Final

-es5サポート(TS 2.0.0以降で完全に動作)

更新ごとes6-shim両方のタイピングが一緒にインストールされている場合、今はサポートされていませんes6-shimcore-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"プロパティをに設定するだけes6で、すべてエラーが発生しなくなります。そして、変換されたコードはes6フォーマットになります。


どうもありがとうございました。自分でそれを見つける機会はありませんでした。
Stav Alfi、2016

@StavAlfi np ..それが起こる..喜んであなたを助けて..ありがとう:)
Pankaj Parkar

beta.7では、クイックスタートチュートリアルでプロジェクトセットアップを使用する場合にインストールする必要があります。Angularのどのベータ版を使用していますか?Angular 2.0.0 beta.7で重大な変更を確認します
Marc

1
クイックスタートチュートリアルのpackage.jsonは、angular 2の実際のバージョンをサポートしています。package.jsonをコピーした場合。プロジェクトのルートディレクトリにtscconfig.jsonとtypings.jsonを入力し、npm -installプロジェクトセットアップを呼び出すと問題ありません。
マルク

3
@PankajParkar 2.0.0-rc.1。数日前にAngularを使い始めたばかりですが、はじめにのドキュメント[ここ]()で作業しました。ではpackage.json、彼らは置く"angular2-in-memory-web-api": "0.0.7"と角のものの残りの部分はから来て"@angular/<module>": "2.0.0-rc.1"どこ<module>commoncompilercorehttpplatform-browserplatform-browser-dynamicrouterrouter-deprecatedupgrade
ヘクター

42

angular-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"
  ]
}

心に留めておく現時点でES6をサポートしていませんuglifyjs。これは、製品バンドルの作成に影響を与える可能性があります。

オプション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ファイルを見つけられることを確認する必要があります。

次の2つのオプションがあります。

a。tsconfig.jsonがタイプフォルダーと同じレベルにあることを確認します。

b。angular2アプリケーションがブートストラップされるmain.tsファイルに参照を含めます。

オプションA:tsconfig.jsonがタイプフォルダーと同じレベルにあることを確認します。

注:タイプフォルダーを除外するためにexcludeフラグを使用しないでください。

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

オプションB:ブートストラップ前のメインファイルでの参照(これを行わないでください):

他の回答に示されているように、このファイルはAngularに含まれなくなりました

main.ts:

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

2
オプション1はRC4に対して完全に機能します。名前空間の競合を回避するために、Promise、Mapなどを提供するcore-jsやその他のタイプを必ず削除してください。
wtfzn

1
ありがとう、1は働いた。core-jsまたはes6-shim(両方ではない)が必要です。次に、tsコンパイルプロセスに./typings/index.d.tsを含めます。
k3a 2016

1
--saveDev現時点では機能しません。--save-devします。
ジョージソベトフ2017年

1
typingsグローバルにインストールしないでください。
ジョージソベトフ2017年


8

これは私のために働いたものです。

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

次にサーバーを再起動します。


6

Promise.resolve()メソッドを認識しないという同様の問題がありました。私が変更され、「ターゲット」にES5から値をES6tsconfig.json。それで問題は解決しました。

お役に立てれば。


ええ、これは確かに私を助けました-tsconfig.jsonの「ターゲット」値をES5からES6に変更しました。
グレッグトレヴェリック

5

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
/// <reference path="typings/browser.d.ts" />

1
このためおかげで、しかし1.0+タイピングのためのコマンドは次のとおりです。タイピングはDT〜ES6-シム--save --global(インストールgithub.com/typings/typings/issues/517)、その後、使用/// <参照パスを=」入力/es6-shim/es6-shim.d.ts "/>
サイモンTrewhella

4

TSブートストラップファイルにトリプルスラッシュ参照を追加せずにこの問題を修正し、ES6に変更します(これにより、@ DatBoiが言ったように、一連の問題が発生します)VS2015 NodeJSおよび/またはNPMバンドルされたビルドを更新するか、typingsグローバルにインストールします。

これが私がいくつかのステップで行ったことです:

  • typingsプロジェクトのpackage.jsonファイルに追加されます。
  • 各NPMアクションの後に実行/更新するscriptブロックをpackage.jsonファイルに追加しましたtypings
  • typings.jsonへの参照を含むプロジェクトのルートフォルダーにファイルを追加しましたcore-js。これは、現時点でES5 / ES6の問題を修正するための最良のshim / polyfillパッケージの1つです。

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対応のライブラリパッケージでも同様の問題が修正されると思います。

私の知る限り、私はこれがVS2015のデフォルト設定を台無しにせずに修正するための最もクリーンな方法だと思います。

さらに詳しい情報と問題の詳細な分析については、私のブログでこの投稿読むことをお勧めします


3

タイピングv1.0 +でAngular2 RC1を使用する場合は、次のコマンドを使用します。

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

core-js定義をインストールしてから、main.tsでグローバルインデックスを参照します。

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

es6-shimまたはその他のshimライブラリを使用している場合は、代わりにそのタイプをインストールします

https://github.com/typings/typings/issues/517を参照してください


2

Angular 5からAngular 6にアップグレードした後、これらの問題が発生していることに気付きました。VS2017で次のようにすると、これを修正できました。

  • TypeScriptの特定のバージョン、2.9に対してTypeScript SDKが(Visual Studio Installerを介して)インストールされていることを確認します。
  • Module Systemプロジェクトプロパティが、tsconfig.json:ES2015のプロパティと一致するように設定されていることを確認します。これは、tsconfigファイルがプロジェクトのルートにある場合、自動的に同期されることがよくあります。ただし、VS Angularテンプレートを使用していたため、これらのファイルは「ClientApp」サブフォルダーに配置され、Module Systemプロジェクトプロパティは設定されていませんでした。

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": "./"
  }
}

1

クラス内でpromiseオブジェクトを作成するときに同じ問題が発生しました。ターゲット名を「es6」から「es5」に変更することで、私の問題は解決しました。


1

別の可能な解決策は、タイピングを再インストールすることです:
これは私にとってはうまくいきます"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

1

別の良い解決策。プロジェクトのルートディレクトリにファイルtypesing.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に変更する必要はありません。それ以降、古いバージョンのブラウザはWebアプリケーションでサポートされません。


1

Visual Studio 2017でこれらのエラーが表示されたためにここに来た場合、コンパイルに成功すると、上記とは異なる問題が発生します。これは、言語サービスがtsconfig.jsonを選択しないためです。

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

tsconfig.jsonのビルドアクションを「コンテンツ」に設定する必要があります(右クリック->プロパティ)。VSがそれを取得します。


0

boot.tsの参照が正しいパスではないことがわかりました。そのパスを更新し/// <reference path=">../../../node_modules/angular2/typings/browser.d.ts" />てPromiseエラーを解決しました。


0

私はangular2チュー​​トリアル(ヒーロー)でトレーニングしています。
@ types / core-jsをインストールすると、これらの回答にコメントが付けられ、「重複した識別子」エラーが発生しました。
私の場合、tsconfig.jsonのlib行を削除することで解決しました。

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


-1

私のファイル構造は次のとおりです:

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

以下をapp.tsの上部に貼り付けて、問題を解決します

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

tsconfig.jsonでES6を指すようにTARGETエントリを変更すると、上記の返信で指摘されているように、この問題が修正されました。
TheCopyPaster 2018年

-1

同じ問題が発生し、github https://github.com/angular/angular-cli/issues/1901で見つけることができましたtypescript@2.0.2。これには、の問題であることが記載されています。

typescriptを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

また、package.json内のtypescriptのバージョンをから^2.0.0に変更しました2.0.0が、ローカルのtypescriptインストールをダウングレードするまで機能しませんでした。


なぜ人々がこれに反対票を投じているのか、なぜこれが悪い考えなのか知りたいのですが。typescriptが変換された言語であり、javascriptに変換される場合、それはブラウザーと同じくらい安全であるため、リスクがないようではありませんか?
user3505901
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.