4

次のフォルダー構造があります。

  • index.html
  • js/
    • ライブラリ/
      • require.js
      • jquery.js
    • main.js

index.html の head セクションに次の行を追加しました。

<script data-main="js/main" src="js/libs/require.js"></script>

main.js に単純なアラートを追加すると、機能します。jQuery を使用したいのですが、うまくいきません。

require(['libs/jquery'], function ($) {
    $('#test').html('123');
});

Chrome の Web インスペクターで、jquery が正常に読み込まれたことを確認できますが、テキストが div に表示されません。jquery を移動して./js/libs入れただけで./js(もちろん、依存関係を に変更すると['jquery'])、動作します。

私は何を間違っていますか?./js/libs物事を整理するためにjqueryを入れられないのはなぜですか?

ありがとう

4

2 に答える 2

8

パスを構成する場合

require.config({
    paths: {
        'jquery': 'libs/jquery'
    }
});

そして、require を次のように変更します。

require(['jquery'], function ($) {
    $('#test').html('123');
});

動作しているようです。誰かが私に理由を説明できれば。

于 2012-08-05T18:01:08.940 に答える
0

正しく機能させるには、basePath を指定する必要があります。あなたの場合、それは単なるjsです。main.js ファイルの最初にそれを行うことができます。

require.config({
    baseUrl: '/js'
});

その後、baseUrl を相対 URL と連結するため、このコードは機能します。

require(['libs/jquery'], function ($) {
    $('#test').html('123');
});
于 2013-04-05T20:53:01.710 に答える