后端里,怎么一次性导入文件夹内所有的文件
后端,近期重构,想着怎么可以一次性导入文件夹内所有文件 例如数据库的models,schema 百度过,找到个轮子,叫require-all能满足需求, 但想看看大佬们有没更好的推荐??
3 回复
- 读取文件夹
- 遍历文件名, 过滤非 .js/.json 文件
- require(文件路径)
顺便说一句, 为什么要玩这种黑魔法?
function filesWalker(dir, done) {
let results = []
fs.readdir(dir, function (err, list) {
if (err) return done(err)
let pending = list.length
if (!pending) return done(null, results)
list.forEach(function (file) {
file = path.resolve(dir, file)
fs.stat(file, function (err, stat) {
if (stat && stat.isDirectory()) {
filesWalker(file, function (err, res) {
results = results.concat(res)
if (!--pending) done(null, results)
})
} else {
results.push(file)
if (!--pending) done(null, results)
}
})
})
})
}
@axetroy 不一定用的上,只是看到webpack可以这样做,,想着后端这样做,好像也不错