多个文件的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正在使用提供的路径,我们不想更改它们。在我的例子中,这是一个更复杂的场景,因此需要找到一种映射方法。