Спецификации нескольких путей в RequireJS

Я хочу иметь возможность вводить дополнительные пути в файл, отличный от того, который содержит конфигурацию. Это можно сделать? Бонусный вопрос заключается в том, могу ли я напрямую обращаться к переменным "config".

Ответы

Ответ 1

Нет проблем при вызове require.config несколько раз или из нескольких мест. При последующих вызовах вам не нужно предоставлять полный набор настроек. Новые сопоставления пути будут объединены с существующими.

Например, если вы сделали это изначально:

require.config({
    paths: {
        foomodule: 'libs/foo',
        jquery:  'libs/jquery'
    }
});

Впоследствии вы можете создать другой набор путей для jquery и/или ввести пути для всего нового модуля, отсутствующего в исходной конфигурации:

require.config({
    paths: {
        jquery:  [ 'http://code.jquery.com/jquery-2.0.2', 'http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.2' ],
        // note that foomodule not provided here but still keeps its original configuration
        someothermodule: 'some/other/path'
    }
});

Обратите внимание, что если модуль уже был загружен на основе исходной конфигурации, и вы хотели заставить его перезагрузить из новой конфигурации, вам может потребоваться вызвать require.undef

Что касается второй части вашего вопроса (читая существующую конфигурационную информацию), я спросил вопрос об этом и до сих пор не нашел способа сделать это.