JS Node Recursion安排目录

时间:2018-01-11 23:53:12

标签: javascript node.js recursion directory

我是Javascript的新手,我使用Node.js。

想象一下,我们有一个包含很多目录的目录。无论目录中有多深,我都想把每个内容都给出来。

问题是我想以正确的顺序给出它们,因此您可以解释哪个文件位于哪个文件夹中。

我实际上根本不知道怎么做,我想我必须使用递归,但我对这些事情非常不满。

1 个答案:

答案 0 :(得分:1)

这是一个很好的切入点:

var fs = require('fs');
var walkPath = './';

var walk = function (dir, done) {
    fs.readdir(dir, function (error, list) {
        if (error) {
            return done(error);
        }

        var i = 0;
        (function next() {
            var file = list[i++];

            if (!file) {
                return done(null);
            }

            file = dir + '/' + file;
            fs.stat(file, function (error, stat) {
                if (error) {
                    return done(error);
                }

                if (stat && stat.isDirectory()) {
                    walk(file, function (error) {
                        next();
                    });
                } else {
                    // do stuff to file here
                    console.log(file);

                    next();
                }
            });
        })();
    });
};

参考: Loop through all files in a given directory with node.js

希望有所帮助!