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

RequireJS load main module in a top level directory from a subdirectory

本文关键字:加载 子目录 模块 RequireJS      更新时间:2023-09-26

如何使用子目录中的内联调用来require公共模块?我的主模块在一个优化的脚本中,requirejs作为页面中的第一个脚本加载。它有一个指向根js目录的绝对url。

现在,在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中的相对url路径。

配置是相对于URL的。当URL为localhost/myproject/checkout/cart时,则指向app/cart的路径为:

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

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