2017-03-23 11 views
0

フォルダ内のすべてのファイル名を収集し、jsonファイルに出力します。私は2つの問題を持って、最初に私はコールバックを行う方法を知らない。それから私はその1つをスキップしますが、私はsettimeoutの例を試しました。私は何も.jsonファイルを見ませんでした。それが間違っているのだろうか。node.jsを使用した非同期の読み込みと出力ファイル

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); 
}); 
関連する問題