Skip to content

fs 模块:如何知道目录内文件已经全部遍历了?

需求

提交软件著作权申请需要的软件源代码一份。

问题分析

读取项目目录,过滤某些文件夹(如:.git,.vscode 等),只提取指定类型的文件的内容(如:js,wxml,wxss)。 即把某项目下指定类型的代码提取出来,写入到同一个文件中。

封装满足以下特点的工具函数:

  • 可自动扫描指定路径下的所有文件及文件夹
  • 提供指定过滤(不扫描)某些文件夹的参数 ignoreDirs
  • 提供指定需要的文件类型的参数 allowExts
  • 提供读取到文件的监听事件 onFile
  • 提供读取路径失败的监听事件 onError
  • 提供当指定路径下无可扫描文件(扫描结束)的监听事件,方法内部扫描过程是同步执行的 onComplete
  • 函数本身只提供指定目录扫码任务,不含文件本身的读写操作

具体看我的公众号文章吧(my判定weigui)!

Released under the MIT License.