Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用node.js异步读取和输出文件_Javascript_Json_Node.js - Fatal编程技术网

Javascript 使用node.js异步读取和输出文件

Javascript 使用node.js异步读取和输出文件,javascript,json,node.js,Javascript,Json,Node.js,我想将我的所有文件名收集到一个文件夹中,并将其输出到一个json文件中。我有两个问题,第一个我不知道怎么做。然后我将跳过这个,但是我尝试了settimeout示例,我也没有看到任何.json文件。我怀疑这是错的 const imagesFolder = './assets/images'; const fs = require('fs'); const jsonfile = require('jsonfile'); let json = []; fs.readdir(imagesFolder,

我想将我的所有文件名收集到一个文件夹中,并将其输出到一个json文件中。我有两个问题,第一个我不知道怎么做。然后我将跳过这个,但是我尝试了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) 

您可以在
readdir
回调中同步执行此操作。另外,我认为您需要将文件名传递给
jsonfile.writeFile

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

  jsonfile.writeFile(`${imagesFolder}/files.json`, json);
});

要返回哪种json块?{file1:file.jpg,file2:file2.jpg}