2017-04-25 64 views
0

我有這樣的代碼片段如下產生這個錯誤:找不到名稱「地圖」打字稿陣營

let scriptMap = new Map(); 

我這個代碼Cannot find name 'Promise'之前有過類似的錯誤。通過運行npm install --save @types/es6-promise解決它。

let promise = new Promise((resolve: any, reject: any) => { 
        let resolved = false, 

我找了很多很好的答案與角2 here而不是其他來解決這個問題。如果我運行npm install --save @types/core-js,我得到的錯誤比我現在所擁有的更多。如果我不需要,我不想在tsconfig.json中將目標設定爲es6

+0

您正在使用哪種版本的打字稿?你有一個tsconfig文件嗎?如果是的話,那是什麼內容。 –

+0

2.1是的,我有。如果你看到我的答案,就自己解決吧。 – Ogglas

+1

這正是我要帶給你的地方。很高興你解決了它! –

回答

4

卸載es6-promise爲了避免重複,然後添加"lib": [ "es5", "es6", "dom" ]tsconfig.json解決了它。

+2

這正是你如何做:)也許澄清:使用的'libs'取決於你的'目標'配置。對於'ES5':'DOM,ES5,ScriptHost'被包括在內,'ES6'則包括'DOM,ES6,DOM.Iterable,ScriptHost'。 –