Это частично сработало, для моего использования, где мне просто нужно прочитать каталог public
и один слой подкаталогов.Но я не могу получить доступ к переменной subDirectories вне функции addSnippetToIndexes
fs.Есть идеи?Я попробовал обратный звонок ниже, без игры в кости.Я настоящий узел n00b.
const fs = require('fs');
const logo = '<div id="logo"><h1>my cool logo</h1></div>'
let subDirectories = []
function addSnippetToIndexes(directory){
fs.readdir(directory, (err, files) => {
if (err) {return console.log(err);}
files.forEach(file => {
if(file.substr(-5) === '.html'){
fs.readFile(directory+file, 'utf8', function (err,data) {
if (err) {return console.log(err);}
let result = data.replace(/\<\/body>/g, logo + '</body>');
fs.writeFile(directory+file, result, 'utf8', function (err) {
if (err) return console.log(err);
});
});
}else{
subDirectories.push(file)
}
});
//I can access subDirectories here but not outside function?
});
}
addSnippetToIndexes('./public/')
subDirectories.forEach(i => {addSnippetToIndexes(i)}) //THIS DOESNT WORK?