2017-07-28 8 views
4

Visual Studioコードをエディタとして使用してType 2.4を使用しています。私は、次のコマンドを使用して、NPMでのjQueryをインストール:TS-2304エラー - ".ts"ファイルに "jquery"をインポートしているときに、TypeScriptで名前 'Iterable'を見つけることができません

npm install --save @types/jquery 

は、それから私はGitHubからjquery moduleのソースコードをダウンロードしました。次のように

registrationpage.tsファイルのコードは、次のよう

import * as $ from 'jquery'; 
class Registration_Page { 
    txtuname: string; 
    Registration() { 
     $('#table').hide; 
     this.txtuname = (<HTMLTextAreaElement> (document.getElementById('txtusername'))).value; 
    } 
} 
window.onload =() => { 
    $('#table').show; 
    var bttnLogin = document.getElementById('submit'); 
    var obj = new Registration_Page(); 
    bttnLogin.onclick = function() { 
     obj.Registration(); 
    } 
} 

index.htmlためのコードは次のとおり

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
    <script src="registrationpage.js"></script> 

</head> 
<body> 
    <form id="form1"> 
    <div> 
    <fieldset style="font-size: medium; color: #000000;"> 
     <legend style="background-color:#CCCCFF; font-size: larger;font-weight:bold">Registration Page in TypeScript</legend> 
     <br /> 
     <b>UserName</b> 
     <input id="txtusername" type="text" /><br /> 
     <br /> 

     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      <input id="submit" type="button" value="Submit" />&nbsp;&nbsp;&nbsp;&nbsp; 

    </fieldset> 
    </div> 
    <div id="table"> 
     <table> 
      <tr> 
       <th>UserName</th> 

      </tr> 
     </table> 
    </div> 
    </form> 
</body> 
</html> 

tsconfig.jsonファイル:

{ 
    "compilerOptions": { 
     "target": "es5", 
     "noImplicitAny": true, 
     "lib": [ "es2015", "dom" ] 

    } 

} 

IコードをコンパイルするときCMDで、次のエラーが表示されます。

ERROR TS2304 : cannot find the name Iterable

適切な解決策を提案してください。

+0

をあなたはこの解決策を見つけるか、私は同じ問題 –

+0

を持っている私は、この同じ問題を取得しますVS 2017 UI。下のあなたの答えから、tsconfig.jsonは無視されるようですね?より詳細な情報を提供できますか?これを修正するには? –

+0

はい、tsconfig.jsonファイルを無視しています。解決策は、コマンド "tsc -p"を使用してコードをコンパイルすることです。 「https://www.typescriptlang.org/docs/handbook/tsconfig-json.html」 – Swinky

答えて

2

tsconfig.jsonの設定は正しいです。ターゲットをES5に設定し、ライブラリ:es2015,es2015-iterableを指定すると、Iterableがサポートされます。 ポイントは、.tsファイルをコマンドtsc "filename"でコンパイルすると、 "tsconfig.json"はコンパイラによって無視されます。

https://unpkg.com/core-js/client/shim.min.js"> 

https://unpkg.com/[email protected]/dist/system.src.js 

最後には、このコマンドはtsconfig.jsonファイルを無視しないであろう

**tsc -p .** 

このコマンドでファイルをコンパイルします。また、外部モジュールでの作業中、あなたはモジュールのロードをサポートするために、次のjsファイルをインクルードする必要があります。

希望します。

+0

これは受け入れられる回答である必要があります。 'tsc'コマンドはデフォルトで' tsconfig.json'を無視すると誰も言及していません。ありがとう! – aberkow

1

ノードタイプ定義のインストールを検討してください。

npm i --save-dev @types/node

あなたは代わりのNPM使用している場合:

yarn add -D @types/node

+0

ノード入力ファイルは、 '--lib es5'で行61を使用するために' Iterable'を定義しています。* node_modules/@ types/node/index.d.ts * – preist

関連する問題