私のhtmlに次のようにjQueryが含まれているrequire.jsをロードします。
<script data-main="requires" src="lib/require-jquery.js"></script>
私のrequires.jsの内容:
require.config( {
paths: {
"jquery.mobile": "lib/jquery.mobile",
"jquery.mobile.router": "lib/jquery.mobile.router"
},
shim: {
"jquery.mobile" : {
"exports": "$.mobile"
},
"jquery.mobile.router": {
"deps": [ "jquery.mobile" ],
"exports": "$.mobile.Router"
}
}
} );
require(["jquery.mobile.router" ], function() {
require(["router"]);
} );
そして、私の router.js で、jquery モバイル ルーター プラグインの新しいインスタンスを作成します。
router = new $.mobile.Router(...);
これは私にこのエラーを与えます:
キャッチされていない TypeError: undefined は関数ではありません
$ と $.mobile を出力すると、両方とも定義されており、$.mobile.Router だけが未定義です。
ここで私は何を間違えましたか?