2016-10-25 1 views
2

私はAngular2を使用しています.jQueryをインクルードしたいと思います。 app.module.tsSystemJS:jQueryをロード

systemjs.config.js

(function (global) { 
System.config({ 
paths: { 
    'npm:': 'node_modules/', 
    'jquery': "//code.jquery.com/jquery-2.1.4.min.js" 
}, 
meta: { 
    bootstrap: { 
     deps: ['jquery'] 
    } 
}, 
..... 
} 

、私はエラーを得た:私が置いたときは、モジュールのjqueryの "を見つけることができません。

import $ from 'jquery'; 

パスの代わりにマップを使用して試してみますが、 SULT ..

+0

TypeScriptはデフォルトで 'node_modules'ディレクトリにパッケージを探します。 'npm'でjQueryをインストールしましたか? – martin

+0

** node_modules ** –

+0

にない**/dev/assets/js **フォルダにjqueryが既にあります。それが動作しないため、TypeScriptが 'jquery'を見つけてエラーをスローします。 jqueryでは、実際にはもっと複雑になっていますし、タイピングもインストールする必要があります。 TypeScript 2.0を使用している場合は、https://www.npmjs.com/package/@types/jquery – martin

答えて

1

正しいコードが..です

import * as $ from 'jQuery'; 

はまたuがCDNへのマッピングすべきですか?

NodeJS経由でjQueryを取得したり、jQueryをローカルに保存したりマップしたりしない場合は、

+0

テンプレートを買ったので、jQueryプラグインがたくさんあります...(パスを確認するためにjQueryリンクを使用しました) –

+0

実際には、SystemJSとECMAScriptに準拠するために、正しいコードは 'import $ from 'jquery''です。呼び出し可能なモジュール名前空間オブジェクトは仕様でサポートされておらず、主にTypeScriptによって提供されるCommonJS interopハックです。 –