我想收集文件夹中的所有文件名并将其输出到json文件。我有2个问题,第一个我不知道如何做回调。然后我会跳过那一个,但我尝试了settimeout示例,我也没有看到任何.json文件。我不知道这是错的。
const imagesFolder = './assets/images';
const fs = require('fs');
const jsonfile = require('jsonfile');
let json = [];
fs.readdir(imagesFolder, (err, files) => {
files.forEach(file => {
json.push(file.split('.')[0])
});
})
setTimeout(function(){
var obj = {"foo":"bar"}
jsonfile.writeFile(imagesFolder, obj);
},1000)
答案 0 :(得分:0)
您可以在readdir
回调中同步执行此操作。另外,我认为您需要将文件名传递给jsonfile.writeFile
:
fs.readdir(imagesFolder, (err, files) => {
files.forEach(file => {
json.push(file.split('.')[0]);
});
jsonfile.writeFile(`${imagesFolder}/files.json`, json);
});