如何使用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
)
)
)
);
答案 0 :(得分:1)
RequireJS不提供根据模式加载模块的工具。传递给require
的内容必须是实际模块名称的列表。
一种选择是在构建应用程序时,根据所需模式扫描模块,并创建一个加载所有其他模块的模块。例如,它可以命名为'vendor_all'
,可以包含:
define(['vendor/vendor1/vendor11', 'vendor/vendor2/vendor21', ...]);
然后,您将require(['vendor_all'], function () {...});
或将'vendor_all
'放入另一个模块的依赖项列表中。