我是Javascript的新手,我使用Node.js。
想象一下,我们有一个包含很多目录的目录。无论目录中有多深,我都想把每个内容都给出来。
问题是我想以正确的顺序给出它们,因此您可以解释哪个文件位于哪个文件夹中。
我实际上根本不知道怎么做,我想我必须使用递归,但我对这些事情非常不满。
答案 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
希望有所帮助!