后端里,怎么一次性导入文件夹内所有的文件 - CNode技术社区

后端里,怎么一次性导入文件夹内所有的文件
发布于 6 年前 作者 Josh119891 5402 次浏览 来自 问答

后端,近期重构,想着怎么可以一次性导入文件夹内所有文件 例如数据库的models,schema 百度过,找到个轮子,叫require-all能满足需求, 但想看看大佬们有没更好的推荐??

3 回复
  1. 读取文件夹
  2. 遍历文件名, 过滤非 .js/.json 文件
  3. 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可以这样做,,想着后端这样做,好像也不错

回到顶部

AltStyle によって変換されたページ (->オリジナル) /