2016-01-13 7 views
6

私はAureliaアプリを持っていて、app.jsでjQueryを使いたいです。AureliaでjQueryを使用する

だから私のconfig.jsのは、次のようになります。

System.config({ 
... 
    map: { 
    ... 
    "jquery": "npm:[email protected]", 
    ... 
    } 
} 

そしてapp.jsに私はこのようにjQueryをインポートします。

var $ = require('jquery'); 

しかし、私はそれを必要とするとき、私は空白のサイトを取得します。インポート時と同じです:

import $ from 'jquery'; 

何が問題なのですか?

おかげ

EDIT: OK、解決しました。問題は、jQueryコードをattached()メソッド内で呼び出さなければならないことです。したがって、このように:

export class Class1 { 
    attached() { 
     //jQuery code here 
    } 
} 

答えて

7

あなたはhttps://github.com/components/jquery

からのjQueryをインストールする必要があります。しかし、あなたがオーレリア・スケルトンを使用している場合、あなたはbootstrap

import 'bootstrap'; 

からそれをインポートして、アプリでどこでも$を使用することができます、または

import $ from 'bootstrap' 

同じですjqueryuiのために。必要な場合は、https://github.com/components/jqueryui

1

jqueryが\ jspm_packages \ github \ components(少なくとも私の場合)にインストールされています。これはあなたのケースである場合は、使用する必要があります。

System.config({ 
... 
    map: { 
    ... 
    "jquery": "github:components/[email protected]", 
    ... 
    } 
} 

リンクをExample in plunkerに。

+0

[OK]を、それをコントローラにインポートする方法はありますか? なぜvar $ = require( 'jQuery')ですか;ワーキング? –

+1

'var $ = require( 'jquery')'(jqueryではなく、jQuery)にはわかりませんが、[ここ](http://plnkr.co/edit/RN8JjXlxCrUegsaCbvJ7?p=preview)は'import $ from 'jquery'を使って作業バージョンにリンクします; – DaniCE

5

ちょっと違う!私たちはjQueryを使い、config.js経由でそれを追加しようとしました。しかし、メインのhtmlページにスクリプトタグを使ってロードするjsライブラリをいくつか使用しています。これらのライブラリにはjqueryが必要です。私もインポートを使用してそれらをロードしようとしたが、彼らは本当にそれのために設計されていなかったし、最終的に私達はちょうど人生は非常に簡単になるので、それはあまりにも複雑になった:

jqueryのためのスクリプトタグのメインのHTMLページに
スクリプトタグをメインのhtmlページのサードパーティのjsライブラリから

仕事が完了しました!

また、jqueryとライブラリの両方をCDNから読み込むことができるという利点があります。

おそらく、読み込みでモジュールを読み込む利点はありませんが、アプリケーション全体でjqueryと他のライブラリの両方を使用しているため、新しいモジュールを作成するときに読み込む必要はありません:-)

関連する問題