1

angular2 CLI プロジェクトがあります。

2 日前、私の Webstorm IDE が新しい Promise について文句を言い、string[].map を解決できなかったため、以下を使用してフォルダーes6-promise内に強制的にインストールしました。node_modules/@types

npm install @types/es6-promise --save

ここで関連する質問を見つけることができます: TypeScript が、array.map が string[] 型の配列に存在しないことを訴えています。

Webstorm IDE は最終的に期待どおりに機能し、赤い下線付きのファイルはありませんでしたが、今日、ブラウザーでアプリをリロードすると、次の 6 つのエラーが発生しました。

ここに画像の説明を入力

メッセージエラーはかなり簡単だと思います。フォルダーからファイルに新しくインストールされたタイプは、Angular2 CLI が作成し、デフォルトで使用している typescript コンパイラーのメイン モジュールである ones フォームと衝突しています。index.d.ts@types node_module/typescript

基本的に: " declare class Promise<T> etc.." 内部の宣言は、 内のもの@types/es6-promise/index.d.ts と同じtypescript/lib/lib.es2015.promise.d.tsです。

Ouestion: これを回避するには? この競合を解消するには、どのコードが必要ですか?

現在 (2016 年 10 月 2 日) の時点でng init- Webstorm IDE で新たに作成した場合、ファイルにエラーがマークされていなけれlet myPromise = new Promise()ば、他のものを使用することはできません。es6 operators自分で @types に何かをインストールすると、この重複した識別子エラーが発生します..

ここで傲慢ではありませんが、それは私だけではないと確信しています - 新しい ng2CLI プロジェクトを作成したばかりです。これを回避することはできません。これが彼らの側で起こっていることを誰かが確認できますか? このナンセンスを解決しようとして半日を失いました。この問題についての考えは非常に高く評価されています:)ありがとう。

4

0 に答える 0