如何使用RequireJS扩展配置

时间:2014-04-04 14:01:37

标签: javascript configuration requirejs config

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

有继承/扩展RequireJS配置的方法吗?

2 个答案:

答案 0 :(得分:5)

如果您为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,直到读取第二个配置为止。

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

答案 1 :(得分:0)

路易斯的答案是对的,但只是一个注释,在使用r.js优化器时,可以从多个配置中读取。根据{{​​3}},您可以将一组值传递给mainConfigFile,后者优先于前者。