【模块】深度遍历目录/列出目录下所有文件
发布于 11 年前 作者 leizongmin 27564 次浏览 最后一次编辑是 8 年前

使用方法:

var rd = require('rd');

// 异步列出目录下的所有文件
rd.read('/tmp', function (err, files) {
  if (err) throw err;
  // files是一个数组,里面是目录/tmp目录下的所有文件(包括子目录)
});

// 同步列出目录下的所有文件
var files = rd.readSync('/tmp');

// 异步遍历目录下的所有文件
rd.each('/tmp', function (f, s, next) {
  // 每找到一个文件都会调用一次此函数
  // 参数s是通过 fs.stat() 获取到的文件属性值
  console.log('file: %s', f);
  // 必须调用next()才能继续
  next();
}, function (err) {
  if (err) throw err;
  // 完成
});

// 同步遍历目录下的所有文件
rd.eachSync('/tmp', function (f, s) {
  // 每找到一个文件都会调用一次此函数
  // 参数s是通过 fs.stat() 获取到的文件属性值
  console.log('file: %s', f);
});

安装: $ npm install rd

源码: https://github.com/leizongmin/node-rd

13 回复

给个建议,nodejs下面直接throw err不是好方法,还是通过回调解决吧

不会意思,没看仔细,这个是使用方法不是lib

老雷速度很快,lincell已经用了这个.

为了给你的lincell用而专门写的

老雷辛苦啦,关注了这个项目,以后有机会用上方便找到啊

https://github.com/thlorenz/readdirp 这个也是, 不过看起来很复杂的样子

还是我这个够简洁,功能还强大

你的rrestjs那个自动路由模块,好像不能载入子目录的文件吧?用了这个模块就很方便实现了

亲 你的lincell会让浏览器卡死@@ 。。。不知道怎么回事

不如exec(‘ll -R’)来得快

我好像写过一个类似的iwalk,还能防止open file too many问题。

这个模块也不会出现 open file too many 的,有限制并发数量

回到顶部