RequireJS从子目录中将主模块加载到顶级目录中

时间:2015-11-18 10:24:04

标签: javascript requirejs

我如何require使用来自子目录的内联调用的公共模块?我的主要模块是一个优化的脚本以及requirejs,它作为页面中的第一个脚本加载。它有一个绝对URL到根js目录。

现在,在URL localhost/myproject/checkout/cart的页面上,我正在尝试使用以下方式加载购物车模块:

require(['common/main'],function(common){
    require(['app/cart']);
});

但是它试图引用它永远找不到的localhost/myproject/checkout/cart/js/app/cart.jsbaseUrl设置为./js

我在这里做错了什么?

common/main.js如下:

require.config({
    baseUrl: './js',
    paths: {
        app: 'app',
        ... // More code
    }
});

我需要帮助处理requireJS中的相对网址路径。

1 个答案:

答案 0 :(得分:0)

Config与URL相关。当网址为localhost/myproject/checkout/cart时,app/cart的路径为:

URL + baseUrl + module + '.js'
localhost/myproject/checkout/cart/js/app/cart.js

在这种情况下,请将baseUrl设置为../../js/