尝试了解在哪里使用带通配符的“ map ”和“路径”是正确的。
查看 require 源代码(但肯定不是 100% 流畅),这两个片段在功能上似乎没有区别。真的吗?
使用路径:
require.config({
baseUrl: "include/js/",
paths: {
foo: "stuff/foo",
}
});
使用 map :
require.config({
baseUrl: "include/js/",
map: {
'*': {foo: "stuff/foo"},
}
});
最佳答案
来自 RequireJS 文档“此外,路径配置仅用于设置模块 ID 的根路径,而不用于将一个模块 ID 映射到另一个模块 ID。”
这意味着“路径”仅用于在资源不在默认位置 (baseUrl) 时映射资源的路径。我想这就是您想要做的。
另一方面,使用“map”,您可以拥有资源的多个版本(foo1、foo2...),您可以将其映射为从不同路径加载(即您想要从桌面浏览器加载 foo1 并foo2,它是移动浏览器中第一个版本的修改)。
因此,除非您有不同版本的 foo,否则我会使用“path”,尽管您是对的,并且“map”在这种情况下也可以工作。
关于Requirejs:路径与 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19216580/