循环访问文件夹并导入索引.js



我创建了 react 应用程序代码库,我希望能够在其中迭代嵌套的数据结构以导入一个特定文件。

我有以下结构:

root.js
-modules
-- mod1
--- index.js 
-- mod2
--- index.js 

root.js中,我想检查模块中的每个模块以导入index.js以便初始化数据将在应用程序开始时运行。如果有解决方案,我不清楚最好不使用任何插件的最佳方法是什么。

在我看来,您应该"手动"包含它们

// root.js
require('mod1.index')
require('mod2.index')
// ...

它更加清晰和直接。除非你有100+模块

动态导入的编辑:

无依赖提案(https://gist.github.com/kethinov/6658166#gistcomment-1603591 的变体(

'use strict'
const fs = require('fs')
const walkSync = function (dir, filelist) {
const files = fs.readdirSync(dir)
filelist = filelist || []
files.forEach(function (file) {
if (fs.statSync(dir + '/' + file).isDirectory()) {
filelist = walkSync(dir + '/' + file, filelist)
} else {
filelist.push(dir + '/' + file)
}
})
return filelist
}
allFiles = walkSync('./src')
allFiles.filter(f => f.split('/').pop() == 'index.js').forEach(f => require(f))

一个依赖建议:递归获取目录 NodejS 中的所有文件

事实证明这很简单:

导出modules.js文件中的所有内容。

const req = require.context('./', true, /^./[a-zA-Z0-9]+/index.js$/);
const modules = req.keys().map(req);
module.exports = modules;

然后将modules.js文件导入某个root.js文件中。

相关内容

最新更新