2016-04-11 8 views
-1

私はrequirejsを使用する場合は、次のようにjqueryのを必要とする:requirejsについて、 'jquery'がパスでは不可能であることを要求するには?

requirejs(['../js/lib/jquery','../js/lib/lib'], function ($,lib) { 
    var lib = new lib(); 
    $(function() { 
     //somecode 
    }) 
}); 

を実行結果は次のとおりです。$が使用require.config後に機能

ではありません。

requirejs.config({ 
    baseUrl: '../js/lib' 
}); 
requirejs(['jquery','lib'], function ($,lib) { 
    var lib = new lib(); 
    $(function() { 
     //somecode 
    }) 
}); 

実行結果良いです

なぜですか?

+1

からは、[公式ドキュメント](http://requirejs.org/docs/jquery.html)をしてみてくださいましたか?あなたの質問に答えますか?そうでない場合、なぜですか? – kryger

+0

それは私のせいです、ありがとう! – Chengyu

+0

@Chengyuなぜ分かち合ってください:) –

答えて

0

他の(推奨)解決策は、ファイル 'jquery.js'の名前を にしてbaseUrlディレクトリに配置することです。その後、上記のパスのエントリは不要です です。 baseLrl + moduleID + '.js'のデフォルトのID-to-Path規約に従って、 ファイルを配置すると、多くの設定行を避けることができます。下の例では、baseUrlをサードパーティ製のライブラリコードの ディレクトリに設定し、アプリケーションコードに コンフィグレーションを1つ追加する方法を示します。繰り返しますが、 'lib/jquery'のように別のモジュール名でjQueryを参照すると、 エラーが発生する可能性があります。この例では動作しません。

// THIS WILL NOT WORK 
define(['lib/jquery'], function ($) {...}); 

http://requirejs.org/docs/jquery.html

関連する問題