/** * 读取一个目录中所有子目录和文件 */ const fs = require('fs') const path = require('path') var fileArr = [] var acceptFile = ['scss'] var getFile = function(pathStr,cb){ fs.readdir(pathStr,function(err,dirArr){ console.log(dirArr); dirArr.forEach(e => { //文件夹 let str = pathStr+'/'+e if(!isFile(str)){ getChildernFile(str) }else{ let fileType = str.split('.')[str.split('.').length-1] if(acceptFile.indexOf(fileType)!==-1){ fileArr.push({ outputPath:pathStr+'/', inputPath:str }) } } }); cb?cb():'' }); } var getChildernFile = function(pathStr){ fs.readdir(pathStr,function(err,dirArr){ console.log(dirArr); dirArr.forEach(e => { //文件夹 let str = pathStr+'/'+e if(!isFile(str)){ getFile(str) }else{ let fileType = str.split('.')[str.split('.').length-1] if(acceptFile.indexOf(fileType)!==-1){ fileArr.push({ outputPath:pathStr+'/', inputPath:str }) } } }); }); } var isFile = function(filename){ var stat = fs.lstatSync(filename); var isFile = stat.isFile() return isFile } module.exports = { getFile, fileArr, } getFile('./src',function(){ console.log(fileArr); }) // setTimeout(()=>{ // console.log(fileArr); // },5000)