【发布时间】:2014-12-08 11:12:53
【问题描述】:
是否有任何理由在 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 require 移出回调会导致它从 baseUrl 加载。
为什么嵌套/回调不需要使用基本路径?认为这与传递给 requirejs 的回调函数有关,以便在缺少使用内联脚本设置的 requirejs 配置的上下文中执行......
【问题讨论】:
-
commons内部是否有对require.config的调用?如果是这样,请将其添加到您的问题中。 -
调用了requirejs.config,现在用它更新问题。
标签: javascript requirejs