2015-03-20 2 views
0

Как использовать requirejs, чтобы потребовать, чтобы все файлы в каталоге и в подкаталогах этого были рекурсивно?Как использовать requirejs для загрузки каталога рекурсивно?

Например, если у нас есть каталог, как:

vendor 
    vendor1 
     vendor11.js 
    vendor2 
     vendor21.js 
     vendor22.js 
     vendor23.js 
    vendor3 
     vendor31.js 

Как мы можем загрузить весь каталог поставщика? Используя функцию, например require(['vendor/*'], myCallbackFunction)?

Эта функция должна загрузить эквивалент:

require(
    ['vendor/vendor1/vendor11.js'], 
    require(
     ['vendor/vendor2/vendor21.js'], 
     require(
      ['vendor/vendor2/vendor22.js'], 
      ...and so on 
       ... require(
        ['vendor/vendor3/vendor31.js'], 
        myCallbackFunction 
       ) 
     ) 
    ) 
); 

ответ

1

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

Одним из вариантов было бы создание приложения, сканирование модулей в соответствии с шаблоном, который вы хотите, и создание модуля, который загружает все остальные модули. Например, можно было бы назвать 'vendor_all' и может содержать:

define(['vendor/vendor1/vendor11', 'vendor/vendor2/vendor21', ...]); 

Вы бы тогда сделать require(['vendor_all'], function() {...}); или положить 'vendor_all 'в списке зависимостей другого модуля.

Смежные вопросы