【发布时间】:2018-06-21 09:44:04
【问题描述】:
我是 Javascript 新手,我使用的是 Node.js。
想象我们有一个目录,里面有很多目录。无论目录有多深,我都想将它们中的每一个内容都给出。
问题是我想以正确的顺序给出它们,这样你就可以解释哪个文件在哪个文件夹中。
我实际上不知道该怎么做,我想我必须使用递归,但我不擅长这些事情。
【问题讨论】:
标签: javascript node.js recursion directory
我是 Javascript 新手,我使用的是 Node.js。
想象我们有一个目录,里面有很多目录。无论目录有多深,我都想将它们中的每一个内容都给出。
问题是我想以正确的顺序给出它们,这样你就可以解释哪个文件在哪个文件夹中。
我实际上不知道该怎么做,我想我必须使用递归,但我不擅长这些事情。
【问题讨论】:
标签: javascript node.js recursion directory
这是一个很好的切入点:
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
希望对您有所帮助!
【讨论】: