Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用RequireJS扩展配置_Javascript_Configuration_Requirejs_Config - Fatal编程技术网

Javascript 如何使用RequireJS扩展配置

Javascript 如何使用RequireJS扩展配置,javascript,configuration,requirejs,config,Javascript,Configuration,Requirejs,Config,我使用RequireJS进行编码。我有一个源代码库,但没有几个不同的前端。 这些前端应该使用不同的模块集,因此我必须支持几个RequireJS配置,每个配置用于不同的产品。将模块添加到一个配置中,会导致将其添加到几个其他配置中 是否有方法继承/扩展RequireJS配置?如果您为RequireJS提供多个配置,它将组合它们。例如,如果您第一次拨打此电话: require.config({ paths: { foo: "path/to/foo", bar:

我使用RequireJS进行编码。我有一个源代码库,但没有几个不同的前端。 这些前端应该使用不同的模块集,因此我必须支持几个RequireJS配置,每个配置用于不同的产品。将模块添加到一个配置中,会导致将其添加到几个其他配置中


是否有方法继承/扩展RequireJS配置?

如果您为RequireJS提供多个配置,它将组合它们。例如,如果您第一次拨打此电话:

require.config({
    paths: {
        foo: "path/to/foo",
        bar: "path/to/bar"
    }
});
然后是第二个电话:

require.config({
    paths: {
        foo: "some/other/path/to/foo",
        baz: "path/to/baz"
    }
});
这两个选项组合在一起,使得
bar
仍然具有在第一个
require.config
调用中定义的路径。但是,
foo
将被第二个配置覆盖。在读取第二个配置之前,
baz
不会解析为
path/to/baz


但也有一些限制。例如,您可以为特定模块提供一个数组作为
path
设置。例如,
foo:[“/some/path”,“other/path”]
。当您需要
foo
时,RequireJS将按顺序尝试路径。但是,在随后调用
require.config
时,没有方法告诉RequireJS获取之前设置的任何数组,只向数组添加另一个值。您必须在随后的调用中提供整个数组。

Louis的回答是正确的,但请注意,使用
r.js
优化器时,可以读取多个配置。根据,您可以将一组值传递给mainConfigFile,后者优先于前者。

没有像
require.readConfigFromFile
这样的RequireJS接口。但是,如果符合您的用例场景,并且模块是一个文件,那么您可以将对
require.config
的调用放在模块内部。