在 Node.js 中使用 fs.readdir() 列出文件时遇到问题
Trouble listing files with fs.readdir() in Node.js
我正在通过"学习节点.js为了很多胜利!"研讨会,但我在练习5上遇到了麻烦。它要求您Create a program that prints a list of files in a given directory, filtered by the extension of the files.
我传入了目录 files
,其中包含各种 JavaScript、Ruby 和纯文本文件。它应该console.log()
扩展名为.js
的每个文件。
var fs = require('fs');
function indexDirectory(directory) {
fs.readdir(directory, function(err, files) {
for (var i in files) {
if (i.indexOf('.js') != -1) {
console.log(files[i]);
}
}
});
}
indexDirectory('files');
当我使用 node program.js
运行它时,我当前的代码没有输出任何内容。我是否缺少一些异步原则?我是否错误地使用了回调?任何帮助将不胜感激:)
files
是数组,你应该使用forEach
而不是for .. in
var fs = require('fs');
function indexDirectory(directory) {
fs.readdir(directory, function(err, files) {
files.forEach(function (file) {
if (file.indexOf('.js') != -1) {
console.log(file);
}
});
});
}
indexDirectory('files');
此代码的另一个问题是它还将打印扩展名为".json"的文件。因此,您应该使用例如正则表达式而不是 indexOf。像这样:
var matches = new RegExp(".js$").test(files[i]);
if (matches) {
console.log(files[i]);
}
相关文章:
- 关于引入外部javascript文件的问题&css通过https
- Javascript,文件输入和FormData问题
- Node.js服务器问题-已添加“/"在浏览器中查找文件时
- Express Routes-多个文件的问题
- 使用ajax在html中加载html文件时出现的问题
- 尝试从csv文件中检索单个值时出现问题
- 在javascript中检查文件扩展名的问题
- 加载本地json文件问题
- 外部JavaScript文件问题
- Java 程序文本文件问题
- Django + skelJS / 静态文件问题 / 对 CSS 中图像的引用
- 获取 JSON 文件问题
- Wordpress-自定义页面包括第二个导致函数文件问题的自定义页面
- 外部js文件问题
- 加载javascript文件问题
- JS prototype.namespace单独的文件问题
- 将bootstrap主题安装到Rails 4应用程序中- javascript文件问题
- AngularJS图表文件问题
- 流星客户端外部Javascript文件问题
- Javascript类方法加载json文件问题