gpt4 book ai didi

javascript - 为什么我在 Node 中运行的 .js 文件中遇到 foreach 未定义错误......我该如何修复它?

转载 作者:行者123 更新时间:2023-12-03 00:42:37 26 4
gpt4 key购买 nike

我正在 Node 上运行以下 myfile.js。
像这样执行它..node myfile.js

但是,它导致了 forEach 未定义错误...我认为我的语法也是正确的!我错过了什么吗?

我收到的错误是...... TypeError:无法读取未定义的属性“forEach”

var fs = require('fs');
var path = require('path');
fs.readdir("/.lib", function(err,files){

files.forEach(function(fileName) {
var file = path.join(__dirname, "lib", fileName);
var stats = fs.statSync(file);

if (stats.isFile() && fileName !== ".DS_Store"){

fs.readFile(file,"UTF-8", function(err,contents){
console.log(contents);
});

};
});

});

最佳答案

查看下面的示例,了解如何改进代码。首先我检查该文件夹是否存在,然后我必须确保抛出错误,然后使用 if 来查看是否有任何文件。

var fs = require('fs');
var path = require('path');
var searchPath = './lib';

if (fs.existsSync(searchPath)) { // `existsSync` is recommended to be used. `exists` is deprecated

fs.readdir(searchPath, function(err, files) {

if (err) {
// fix error
throw err;
}

if (!files.length) {
console.log('Empty folder');
} else {

files.forEach(function(fileName) {
var file = path.join(__dirname, "lib", fileName);
var stats = fs.statSync(file);

var excludeFiles = ['.DS_Store']

if (stats.isFile() && excludeFiles.indexOf(fileName) === -1) {

fs.readFile(file, "UTF-8", function(err, contents) {
console.log(contents);
});

};
});

}

});

} else {
console.log('Folder doesn\'t exist')
}

关于javascript - 为什么我在 Node 中运行的 .js 文件中遇到 foreach 未定义错误......我该如何修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53382298/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com