一尘不染

递归获取目录NodejS中的所有文件

node.js

我的功能有点问题。我想在许多目录中获取所有文件。目前,我可以检索传入参数的文件中的文件。我想检索作为参数传递的文件夹中每个文件夹的html文件。我会解释,如果我把参数“测试”我检索“测试”的文件,但我想找回“测试/
1 / * HTML。”,“测试/ 2 / /。 html的”:

var srcpath2 = path.join('.', 'diapo', result);
function getDirectories(srcpath2) {
                return fs.readdirSync(srcpath2).filter(function (file) {
                    return fs.statSync(path.join(srcpath2, file)).isDirectory();
                });
            }

结果:[1,2,3]

谢谢 !


阅读 670

收藏
2020-07-07

共1个答案

一尘不染

看起来globnpm软件包会为您提供帮助。这是一个如何使用它的示例:

文件层次结构:

test
├── one.html
└── test-nested
    └── two.html

JS代码:

var getDirectories = function (src, callback) {
  glob(src + '/**/*', callback);
};
getDirectories('test', function (err, res) {
  if (err) {
    console.log('Error', err);
  } else {
    console.log(res);
  }
});

显示:

[ 'test/one.html',
  'test/test-nested',
  'test/test-nested/two.html' ]
2020-07-07