【发布时间】:2019-02-08 01:11:57
【问题描述】:
我想返回一个目录的文件。
我需要它将路由传递给另一个函数。
换句话说,如何使用 JavaScript/Node.js 返回目录的文件?
const fs = require('fs');
const path = require('path');
const mdLinks = require('../index');
exports.extension = (route) => {
return new Promise((resolve, reject) => {
try {
recursive(route);
} catch (e) {
reject(e);
}
});
}
const recursive = (route) => {
const extMd = ".md";
let extName = path.extname(route);
let files = [];
fs.stat(route, (err, stats) => {
if (stats && stats.isDirectory()) {
fs.readdir(route, (err, files) => {
files.forEach(file => {
let reFile = path.join(route, file);
if (file !== '.git') {
recursive(reFile);
}
});
})
}
else if (stats.isFile() && (extMd == extName)) {
files.push(route);
}
})
return files;
}
【问题讨论】:
-
你没有做什么应该做的 - 或者你看到了什么错误?
-
由于您定义 files[] 变量的方式,在递归调用中找到的文件似乎丢失了。
-
返回一个空数组:(
标签: javascript node.js file directory