在node开发过程中,我们经常需要对文件进行读取,写入,以及文件的引入等相关操作和需求,那么我们就需要去读取我们的目录文件,并对其加以过滤,得到我们的目标文件,但是我们要怎么样高效率的进行文件的过滤呢,下面我们介绍了一种方法:
首先我们需要导入fs模块,然后用readdirSync列出文件
const fs = require('fs');
// 先导入fs模块,然后用readdirSync列出文件
// 这里可以用sync是因为启动时只运行一次,不存在性能问题:
var files = fs.readdirSync(__dirname + '/controllers');
// controllers可以根据自己项目的目录结构进行更改
然后用filter函数筛选出我们需要的目标文件
这里我们需要的是所有的js文件,我们也可以自己封装函数进行过滤,但是性能上不如底层封装好的函数,即便是自己写了,也要尽量把函数单独抽象出来一个组件,便于复用,减少冗余以及减少一些未知的错误;
// 过滤出.js文件:
var js_files = files.filter((f)=>{
return f.endsWith('.js')