我正在使用RequireJS(v2.1.5)中的混合填充程序和路径配置,并遇到了问题。它看起来像一个bug,但也许只是我缺乏理解。这是一个简单的代码示例:
我有这个组合的Javascript文件,包含两个amd模块和一个名为 all.js 的全局对象:
define("one", [], function() {
return {
log: function() {
console.log("ONE"); }
};
});
define("two", [], function() {
return {
log: function() {
console.log("TWO");
}
};
});
window.three = {
log: function() {
console.log("THREE");
}
};
这是配置:
<script>
requirejs.config({
baseUrl: ".",
paths: {
one : "all",
two: "all",
three: "all"
},
shim: {
three: {
exports: "three"
}
}
});
</script>
现在,如果我这样做,我会看到一个和两个(好):
require(["one", "two"], function(one, two) {
one.log();
two.log();
});
如果我这样做,垫片加载,我看到三(好):
require(["three"], function(three) {
three.log();
});
但是,如果我结合上述内容,没有任何反应,我得到错误未捕获错误:模块加载超时:三:
require(["one", "two", "three"], function(one, two, three) {
one.log();
two.log();
three.log();
});
我仍然在网络面板中看到 all.js 。
出了什么问题?