scan.js 1.2 KB
'user strict'

var fs = require('fs');
var path = require('path');

module.exports = scan;

function scan(src,callback){
    var files=fs.readdirSync(src);
    files.forEach(function (item) {
        var result={
            name:item,
            src:path.join(src, item)
        };
        result.stat=fs.statSync(result.src);
        if(callback&&callback(result)&&result.stat.isDirectory()){
            scan(result.src,callback)
        }
    })
}

// function scanFolder(src) {
//     var fileList = [],
//         folderList = [],
//         walk = function (src, fileList, folderList) {
//             files = fs.readdirSync(src);
//             files.forEach(function (item) {
//                 var tmpPath = path.join(src, item);
//                 stats = fs.statSync(tmpPath);
                
//                 if (stats.isDirectory()) {
//                     walk(tmpPath, fileList, folderList);
//                     folderList.push(tmpPath);
//                 } else {
//                     fileList.push(tmpPath);
//                 }
//             });
//         };
    
//     walk(src, fileList, folderList);
    
//     return {
//         'files': fileList,
//         'folders': folderList
//     }
// }