如何使用requirejs递归地要求目录及其子目录中的所有文件?
例如,如果我们有一个类似的目录:
vendor
vendor1
vendor11.js
vendor2
vendor21.js
vendor22.js
vendor23.js
vendor3
vendor31.js
我们如何加载整个目录 vendor ?使用像 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
)
)
)
);
最佳答案
RequireJS 不提供根据模式加载模块的工具。您传递给 require
的内容必须是实际模块名称的列表。
一种选择是在构建应用程序时,根据所需的模式扫描模块并创建一个加载所有其他模块的模块。例如,它可以命名为 'vendor_all'
并且可以包含:
define(['vendor/vendor1/vendor11', 'vendor/vendor2/vendor21', ...]);
然后,您可以执行 require(['vendor_all'], function () {...});
或将 'vendor_all
' 放入依赖项列表中另一个模块。
关于javascript - 如何使用requirejs递归加载目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29175692/