2016-07-09 11 views
7

私はjqueryでtypescriptをテストしていますが、test.tsファイルをコンパイルすると常にエラーが表示されます。

私はすでにjquery &をインポートして定義リファレンスを追加しました。 test.tsファイルにimport $ = require("jquery")を使用すると、tscのコンパイル時に別のエラー "Cannot find module jquery"が発生します。ただし、JQueryフォルダーはすでにnode_modulesフォルダー内に存在します。

typescriptでjqueryを使用する正しい方法は何ですか?

以下

は私の手順です:

  1. npm install jquery --save
  2. を使用してjqueryのをインストールしtypings install --global --save dt~jquery
  3. を使用してタイピング& jqueryの定義をインストールtest.ts /// <reference path="../../../typings/globals/jquery/index.d.ts" />

のTSconfigの上部にjqueryの参照を追加します。 .json

{ 
    "compilerOptions": { 
     "jsx": "react", 
     "outDir": "./dist", 
     "sourceMap": true, 
     "noImplicitAny": true, 
     "module": "commonjs", 
     "target": "es5", 
     "experimentalDecorators": true 
    }, 
    "exclude": [ 
     "node_modules" 
    ], 
    "files": [ 
     "./typings/index.d.ts", 
     "./src/wo/tests/test.ts", 
    ] 
} 

test.ts

/// <reference path="../../../typings/globals/jquery/index.d.ts" /> 

let test:any=$("div"); 
+2

どのようにプロジェクトをコンパイルしますか?また、あなたの 'tsconfig.json'定義が間違っているようです。あなたは 'exclude'と' files'の両方を使うことはできません( 'files'はこの場合勝つので、おそらくパスは間違っています)。また、 'tsconfig.json'が –

答えて

11

それは場合に役立ちます私は知らないが、私は私の日付ピッカーのために同じ問題を解決しました。

まず私は、このコマンドを使用してjQueryのインストール:npm install --save-dev @types/jquery

は、その後、あなたの角度-cli.jsonファイルに依存関係を追加:

"styles": [ 
      "../node_modules/bootstrap/dist/css/bootstrap.css", 
      "../node_modules/font-awesome/css/font-awesome.css", 
      "../node_modules/ng2-datetime/src/vendor/bootstrap-datepicker/bootstrap-datepicker3.min.css", 
      "styles.css" 
     ] 

"scripts": [ 
      "../node_modules/jquery/dist/jquery.js", 
      "../node_modules/ng2-datetime/src/vendor/bootstrap-datepicker/bootstrap-datepicker.min.js" 
     ] 

私はjQueryの一部があなたのために働くかもしれない追加することだと思います。それが動作すれば教えてください。

+5

' npm install --save-dev @ types/jquery'を使用している場合は '/// Shikhar

+0

あなたは大歓迎です。それが助けてくれてうれしい。 –

7

あなたはこれらのエラーを見つけた場合は、時間の90%そのため、@タイプのバージョン管理問題/ jqueryの

てみランニングの:app.module.tsで次に

npm install jquery --save 

import * as $ from 'jquery'; 

は、次に実行します。

npm install @types/[email protected] 

そして、あなたは行く準備ができなければなりません。

+0

jqueryを 'import * as $ from" jquery ";'のような文字列に入れなければならなかったが、これは私のために働いた。 IntelliJは未使用のインポートとして灰色を強調表示しますが、アプリケーションはこの行でのみコンパイルされます。 – hughjdavey

関連する問題