RequireJS:在另一个“require”的回调中使用“require”不会从CDN加载

时间:2014-12-08 11:12:54

标签: javascript requirejs

有没有理由在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配置的上下文中执行....

1 个答案:

答案 0 :(得分:0)

问题是requirejs baseUrl在commons.js中被覆盖 - 感谢@Louis指出我正确的方向。

从公共区域删除了baseUrl参数,所有参数都按预期工作。