0

我需要使用 requireJS 将配置值传递给我的所有 AMD 模块。

通过使用以下示例,我可以愉快地将配置值传递给特定模块;如requireJS API 配置模块文档中所述

requirejs.config({
    config: {
        'bar': {
            raw: true
        },
        'baz': {
            raw: true
        },
        ...
    }
});

以上工作正常,但我有大约 50 个模块我想将相同的配置值传递给,这些模块可能会增加或改变。如上所述,我可以定义 50 个模块名称并传递值,但我真的不想按名称定义每个模块并维护该列表,而是我想做这样的事情。

requirejs.config({
    config: {
        '*': {
            raw: true
        }
    }
});

我已经尝试了上述方法,但没有奏效。

requireJS 配置映射似乎支持“*”通配符,但我没有看到任何类似“config”的提及。我已经搜索过了,但我想我正在经历一个“糟糕的搜索日”。

所以,问题是:“config”是否有“*”通配符支持,而我只是遇到了问题?还是有其他方法可以做到这一点?

4

1 回答 1

5

我不知道直接使用通配符语法的方法,但是您可以通过data-main 底部的最简单的模块定义来完成同样的事情:

requirejs.config({
    // normal stuff
});

define('moduleconfig', {
    color: "black",
    size: "unisize"
});

然后不需要特殊的“模块”模块,只需要你的“模块配置”模块:

define( ['underscore', 'jquery', 'moduleconfig'], function( _, $, moduleconfig) {

    console.log('Color', moduleconfig.color)

 });
于 2013-05-28T20:49:27.193 回答