当前位置: 首页 > Web前端 > JavaScript

node的readDirFiles和readFileSync的一些实用脚本

时间:2023-03-26 21:15:59 JavaScript

1.读取文件夹下的所有js文件constfs=require('fs');constpath=require('path');//读取文件夹中的所有文件functionreadDirFiles(dir,fileList){constfiles=fs.readdirSync(dir);文件列表=文件列表||[];files.forEach(function(file){constfilePath=path.join(dir,file);if(fs.statSync(filePath).isDirectory()){fileList=readDirFiles(filePath,fileList);}else{if(filePath.endsWith('.js')){fileList.push(filePath);}}});returnfileList;}//读取指定文件夹下的所有js文件constfileList=readDirFiles('./src');控制台日志(文件列表);用到的nodeAPI有:readdirSync、statSync、isDirectory、readDirFiles、endsWith使用的算法:recursive2、用nodeapi实现一个脚本,读取某个文件夹下的所有js代码,读取输出到指定文件。constfs=require('fs');constpath=require('path');//读取文件夹中的所有文件functionreadDirFiles(dir,fileList){constfiles=fs.readdirSync(dir);文件列表=文件列表||[];files.forEach(function(file){constfilePath=path.join(dir,file);if(fs.statSync(filePath).isDirectory()){fileList=readDirFiles(filePath,fileList);}else{if(filePath.endsWith('.js')){constcontent=fs.readFileSync(filePath,{encoding:'utf-8'});fileList.push({路径:文件路径,内容});}}});returnfileList;}//将JS文件写入文件functionwriteFile(fileList,outputPath){conststream=fs.createWriteStream(outputPath);文件列表。forEach(file=>{constjsCode=`//文件路径:${file.path}${file.content}`;stream.write(jsCode);});stream.end();}//读取指定文件夹下的所有JS文件,并将JS代码写入指定输出文件constfileList=readDirFiles('/path/to/your/folder');writeFile(fileList,'/path/to/your/output.js');使用的API:readdirSync,statSync,isDirectory,endsWith,readFileSync,createWriteStream可以看出,与问题一相比,多了两个用于读写文件的API。readFileSync、createWriteStream算法:递归