2016-05-12 4 views
0

私はTypescriptを使ってAngular 2アプリを持っています。私は、しかし

<script src="app/libs/jquery.min.js"></script> 

:私はjQuery.min.jsはそうのようにindex.htmlを介して、私のアプリにファイルをインポートしているように

$(document).ready(function(){  // throwing error: "[ts] Cannot find '$'. any" 
    console.log("loaded up!"); 
    $("#main_div").niceScroll(); 
}) 

などのさまざまなタスクのためのjQueryの$を使用したいですjQueryコードに関してはapp.component.tsファイルに何もインポートしていません。それは必要なのですか?もしそうなら、どうやってそれをインポートしますか?

import { GenericService } from './services/Generic.service';  // did not do this 
import $ from './libs/jquery.min.js';        // tried this but does not work 

驚くべきことに、私のコードは、私がnpm startを実行したとき、私は今日の発展が、いなかったとして、昨日働きました。誰もこのインポートプロセスで私を助けてくれますか?

答えて

0

単にタイプ定義ファイルをインストールする

typings install jquery --ambient --save 

を行います。あなたはそれだけのためにタイピングが必要なので、活字体が知っているあなたはすでにあなたのインデックス内のJavaScriptファイルをロードしているので

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

import $ from './libs/jquery.min.js';を削除し、そのようなあなたのapp.component.tsの上部にd.tsファイルへの参照を追加jQueryの名前とメソッドが存在するということです。

+0

'/// <参照パスは何を行います= "../typings/jquery.d.ts" /> 'do?それは私が混乱しているので、それがコメントアウトされているようだ。 –

+0

タイプ定義を検索するときに、そのファイルを含めるようにTypeScriptコンパイラに指示します。 [詳細はこちら](https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html) – rinukkusu

+1

@KangzeHuang詳細はこちら:https://github.com/Microsoft/TypeScript-Handbook/blob /master/pages/Namespaces%20and%20Modules.md#-reference-ing-a-module – Dinistro

0

ただ、タイピングでのjQueryを追加します。

typings install jquery --ambient --save 

を次に、あなたのインデックスに:

<script src="bower_components/jquery/dist/jquery.min.js"></script> 

、通常はtypescriptですが、ジョブ:)

関連する問題