我有以下 requireJS 配置。在尝试引用包/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 年 15 月 10 日更新
我现在急切地想解决这个问题,我已经把所有东西都剥离了基础,所以这里是新的主文件:
(function () {
requirejs.config({
paths: {
"packages": "packages"
}
});
require([
'packages/testmodule'
],
function (tm) {
alert(tm);
});
})();
以及位于名为 packages 的子文件夹中的模块。
define('testmodule',
function () {
alert("called");
return {
set : 'rar '
};
});
我可以看到脚本已加载,但它从未被执行,因此我从未得到它的参考。