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 プロジェクトを作成したばかりです。これを回避することはできません。これが彼らの側で起こっていることを誰かが確認できますか? このナンセンスを解決しようとして半日を失いました。この問題についての考えは非常に高く評価されています:)ありがとう。