次のrequireJS構成があります。package / ImagingXモジュールを参照しようとすると、スクリプトがfirebugにロードされていることがわかりますが、常に未定義になります。問題のjsファイルをbaseUrlディレクトリに移動し、package /を削除すると、期待どおりに機能します。
私は何が間違っているのですか?
window.requirejs.config(
{
baseUrl: '/Scripts',
paths: {
"jquery": "./jquery-1.7.1.min",
"jqx": "/Content/Plugins/jqWidgets",
"package" : "/Scripts/packages"
},
urlArgs: "bust=" + (new Date()).getTime(),
shim : {
'jqx/jqxcore': ['jquery'],
'jqx/jqxsplitter': ['jquery','jqx/jqxcore']
}
}
);
window.require(['jquery', 'layoutManager', 'container', 'package/ImagingX'],
function ($,lm,container,px) {
px.Focus();
$(document).ready(function () {
lm.Init(); // Sets up panes
container.Init(); //Set up the containers
});
});
2012年10月15日更新
私は今この問題を解決するために必死になっています、私はすべてを基本に戻したので、ここに新しいメインファイルがあります:
(function () {
requirejs.config({
paths: {
"packages": "packages"
}
});
require([
'packages/testmodule'
],
function (tm) {
alert(tm);
});
})();
そして、packagesというサブフォルダにあるモジュール。
define('testmodule',
function () {
alert("called");
return {
set : 'rar '
};
});
スクリプトがロードされていることはわかりますが、実行されることはないため、スクリプトの参照を取得することはありません。