2017-03-23 1 views
0

폴더에있는 모든 파일 이름을 수집하여 json 파일로 출력하고 싶습니다. 나는 2 가지 문제가 있는데, 처음에는 콜백하는 법을 모른다. 그런 다음 나는 그걸 건너 뛰겠다.하지만 나는 settimeout 예제를 시도했다. 나는 .json 파일도 보지 못했다. 그게 잘못된 것 같아.node.js를 사용하여 async 읽기 및 출력 파일

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

반환 할 json 블록 유형은 무엇입니까? – KornholioBeavis

+0

{ file1 : file.jpg, file2 : file2.jpg } – KornholioBeavis

답변

0

readdir 콜백에서이를 동 기적으로 수행 할 수 있습니다. 또한 파일 이름을 jsonfile.writeFile으로 전달해야한다고 생각합니다.

fs.readdir(imagesFolder, (err, files) => { 
    files.forEach(file => { 
    json.push(file.split('.')[0]); 
    }); 

    jsonfile.writeFile(`${imagesFolder}/files.json`, json); 
}); 
관련 문제