为什么我不能在require.js中将两个路径指向同一个文件两次?

时间:2013-10-04 21:02:29

标签: javascript requirejs

我希望有2个requirejs路径指向同一个模块:

var require = {
    paths: {
        "hardPath" : "file",
        "alias" : "file"
    }
}

当我运行我的应用程序时,我收到“alias”的加载超时错误。如果我的应用程序的js文件只引用“hardPath”或“别名”中的一个而不引用另一个,则它可以正常工作。但如果我有js文件引用这两个文件,我得到加载超时。是否有某些原因要求.js不允许这样做?

1 个答案:

答案 0 :(得分:3)

RequireJS使用的API是map。您可以对其进行配置,以便当您的任何模块请求“别名”时,它们会自动被赋予“hardPath”:

require.config({
    // paths, shim, etc.

    // and now remap requests for the wrong module name to the right one
    map: {
        '*': {
            'alias': 'hardPath'
        }
    }
});

从上面链接的文档:

  

此外,路径配置仅用于设置模块ID的根路径,而不是用于将一个模块ID映射到另一个模块ID。