多个文件的RequireJS映射配置

多个文件的RequireJS映射配置,requirejs,require,Requirejs,Require,我有一些档案,比如 test/test1, test/test2, test/test3 我想把那个路径重命名为 newtest/test1, newtest/test2, newtest/test3 因此,如果我们试图要求上面的文件,那么它将指向新路径 在require中,存在一对一映射,但不确定这样的映射是否可以实现 require.map = { "test/*": "newtest/*", } 任何帮助:)配置选项支持映射模块前缀。下面是一个例子: require.config

我有一些档案,比如

test/test1,
test/test2,
test/test3
我想把那个路径重命名为

newtest/test1,
newtest/test2,
newtest/test3
因此,如果我们试图要求上面的文件,那么它将指向新路径

在require中,存在一对一映射,但不确定这样的映射是否可以实现

require.map = {
  "test/*": "newtest/*",
}

任何帮助:)

配置选项支持映射模块前缀。下面是一个例子:

require.config({
  map: {
    "*": {
      "foo": "bar"
    }
  }
});

define("bar/x", function () {
  return "bar/x";
})

require(["foo/x"], console.log);
尝试加载
foo/x
的最后一个
require
调用将加载
bar/x


这与使用
map
进行模式匹配一样好。RequireJS不支持在其中放置任意模式。使用
“test/*”:“newtest/*”
将不起作用。在
映射中使用的
“*”
不是模式。它是一个硬编码的值,表示“在所有模块中”,并且恰好看起来像一个glob模式。因此,上面的
map
表示“在所有模块中,当需要
foo
时,请加载
bar

我想知道您是否真的需要。你可以直接使用。引用文献

这种能力对于大型项目非常重要 可能有两组需要使用两个不同版本的模块 虽然是“foo”,但他们仍然需要相互合作

另请参阅文档

使用上面的示例配置,“some/module”的脚本标记将 src=“/other/path/some/v1.0/module.js”

下面是如何将目录从test映射到newtest的示例

paths: {
  "test": "newtest"
}

您是否反对仅使用atom中的正则表达式或您选择的文本编辑器重命名文件中的requires?重命名是不可能的,因为有其他LIB正在使用提供的路径,我们不想更改它们。在我的例子中,这是一个更复杂的场景,因此需要找到一种映射方法。