2017-03-08 18 views
2

我在TypeScript中爲我的angular 2應用程序編寫了一個服務器。MEAN - 找不到名字'Map'(編譯服務器時)

當我嘗試編譯它(tsc server.ts)時,出現錯誤。我以前從未有過這個錯誤。我認爲我沒有添加任何新東西。而我所知道的,與angular 2和我的server.ts完全沒有關係。我沒有選擇。我發現的所有答案都是關於向角度2文件添加內容的。

錯誤消息:

node_modules/@angular/core/src/change_detection/differs/default_keyvalue_differ.d.ts(24,15): error TS2304: Cannot find name 'Map'. 
node_modules/@angular/core/src/change_detection/differs/default_keyvalue_differ.d.ts(28,16): error TS2304: Cannot find name 'Map'. 
node_modules/@angular/core/src/di/reflective_provider.d.ts(87,123): error TS2304: Cannot find name 'Map'. 
node_modules/@angular/core/src/di/reflective_provider.d.ts(87,165): error TS2304: Cannot find name 'Map'. 
node_modules/@angular/core/src/facade/lang.d.ts(12,17): error TS2304: Cannot find name 'Map'. 
node_modules/@angular/core/src/facade/lang.d.ts(13,17): error TS2304: Cannot find name 'Set'. 

我不知道什麼是相關的展示,所以如果你不介意的話 - 請提出要求。

回答

1

你沒有地圖的打字稿定義文件,所以:

npm install @types/core-js 
+0

嗯..這之前的工作。當我運行該命令時,出現了一些新錯誤。 我現在有重複的承諾。 「重複的標識符'承諾'。」 /@ types/es6-promise和/ @ types/core-js – mintermasher

+0

@ types/core-js模塊包含ecmascript6的所有打字稿定義 –

+0

yes承諾在@types/core-js中定義,所以刪除它:'npm卸載@ types/es6-promise' –