scan-fs
目的(Purpose)
Scans the file system in nodejs.
在nodejs环境下扫描文件系统的工具。
安装(Install)
npm install scan-fs
创建(Create)
var scanFS = require('scan-fs').create();
添加不需要扫描的目录或文件:
scanFS.exclude(filters)
: filters可以为正则表达式、Function和带*
的字符串,当然也可以为它们组成的数组。
事件(Events),按照事件触发顺序排序:
error
- 发生错误时触发的事件。一个参数:errpath
- 扫描到每一个路径都会触发这个事件。两个参数:path, eOpts。eOpts对象包含path(路径)、stat(fs.Stats
)、parent(所在目录)。root
- 扫描到跟时触发的事件。两个参数:path, eOpts。eOpts对象包含path(路径)、stat(fs.Stats
)、parent(所在目录)。file
- 扫描到文件时触发的事件。两个参数:filename, eOpts。eOpts对象包含path(路径)、stat(fs.Stats
)、parent(所在目录)directory
- 扫描到目录时触发的事件。两个参数:path, eOpts。eOpts对象包含path(路径)、stat(fs.Stats
)、parent(所在目录)。complete
- 扫描完成时触发的事件。两个参数:fileCount、dirCount。扫描到文件的总数和目录的总数。
添加事件方法:
scanFS.listeners(object)
- object必须,返回scanFS对象。
scanFS.listeners({ 'err': function(err){ //... }, 'path': function(err){ //... } //... });
- 调用方法添加处理事件
onError
、onPath
、onRoot
、onFile
、onDirectory
、onComplete
scanFS.onError(function(err){ //... }).onPath(function(path, eOpts){ //... }).onFile(function(filePath, eOpts){ //... }) //...
例子(Example):
var scanFS = ;//scanFS.exclude(__filename);//scanFS.exclude(/dir.*/);scanFS;/*scanFS.exclude(['*index.js']); scanFS.exclude(/.*index.js$/); scanFS.exclude(new RegExp(/.*index.js$/));*/ scanFS;