有没有理由在require
函数的回调中调用require
会从源而不是从CDN加载第二个/回调需求?
这是我的代码:
<script>
var require = {
baseUrl: 'http://my.cdn/assets/public/javascript/lib',
paths: {
app: '../app'
}
};
</script>
<script src='http://my.cdn/assets/public/javascript/lib/require.js'></script>
<script>
require(['../commons'], function (common) {
require(['app/somemodule']);
});
</script>
commons.js:
requirejs.config({
baseUrl: 'assets/javascript/lib',
paths: {
app: '../app'
},
shim: {
// shim configuration.
}
});
当页面加载时,从baseUrl获取require.js和commons.js。但是,从页面地址中获取somemodule。移动somemodule需要退出回调,导致它从baseUrl加载。
为什么嵌套/回调不需要使用basepath?认为它与传递给requirejs的回调函数有关,它在缺少使用内联脚本设置的requirejs配置的上下文中执行....
答案 0 :(得分:0)
问题是requirejs baseUrl在commons.js中被覆盖 - 感谢@Louis指出我正确的方向。
从公共区域删除了baseUrl
参数,所有参数都按预期工作。