我想在一个文件夹中构建一个包含所有文件名的 json 文件,下面的代码有什么问题?
const iconsFolder = './resources/assets/icons';
const fs = require('fs');
const jsonfile = require('jsonfile');
let json = [];
fs.readdirSync(iconsFolder, [], (err, files) => {
files.forEach(file => {
json.push({'name': file.split('.')[0]})
});
})
console.log(json); // empty array?
最佳答案
readdirSync
返回文件。您正在尝试通过永远不会被调用的回调来访问它。您将获得它作为返回值:
var files = fs.readdirSync(iconsFolder, []);
files.forEach(file => {
json.push({'name': file.split('.')[0]})
});
也许您正在尝试使用 fs.readdir这是异步的:
fs.readdir(iconsFolder, [], (err, files) => {
files.forEach(file => {
json.push({'name': file.split('.')[0]})
});
console.log(json);
})
关于javascript - node.js 的 readdirSync 什么都不输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43036761/