如何使用RequireJS扩展配置

Vla*_*lev 5 javascript configuration config requirejs

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

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

Lou*_*uis 7

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

require.config({
    paths: {
        foo: "path/to/foo",
        bar: "path/to/bar"
    }
});
Run Code Online (Sandbox Code Playgroud)

然后是第二个电话:

require.config({
    paths: {
        foo: "some/other/path/to/foo",
        baz: "path/to/baz"
    }
});
Run Code Online (Sandbox Code Playgroud)

这两个将被组合,以便bar仍然具有在第一次require.config调用中定义的路径.但是,foo将被第二个配置覆盖.并且在读取第二个配置之前baz不会被解决path/to/baz.

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