• node遍历指定目录下所有文件


    需求:执行node脚本遍历文件

    解决:创建demo.js文件,如下

     1 const path = require('path')
     2 const fs = require('fs')
     3 
     4 // ./dist
     5 const basePath = './dist'
     6 
     7 function mapDir(dir, callback, finish) {
     8   fs.readdir(dir, function(err, files) {
     9     if (err) {
    10       console.error(err)
    11       return
    12     }
    13     files.forEach((filename, index) => {
    14       let pathname = path.join(dir, filename)
    15       fs.stat(pathname, (err, stats) => { // 读取文件信息
    16         if (err) {
    17           console.log('获取文件stats失败')
    18           return
    19         }
    20         if (stats.isDirectory()) {
    21           mapDir(pathname, callback, finish)
    22         } else if (stats.isFile()) {
    23           if (['.json', '.less'].includes(path.extname(pathname))) {  // 过滤文件
    24             return
    25           }
    26          // todo something
    27 
    28           fs.readFile(pathname, (err, data) => {
    29             if (err) {
    30               console.error(err)
    31               return
    32             }
    33             callback && callback(data)
    34           })
    35         }
    36       })
    37       if (index === files.length - 1) {
    38         finish && finish()
    39       }
    40     })
    41   })
    42 }
    43 
    44 //执行目录遍历
    45 mapDir(
    46   basePath,
    47   function(file) {
    48     // console.log('TCL: file', file.toString())
    49     // 读取文件后的处理
    50   },
    51   function() {
    52     // console.log('xxx文件目录遍历结束')
    53   }
    54 )
    View Code

    运行 node demo.js进行文件遍历

  • 相关阅读:
    2008年总结
    感触
    24105
    事情总喜欢蜂拥而至
    最后的稻草
    什么叫服务
    sigh,终于submit了
    在工作和生活的狭缝中生存着
    不应该,不应该
    ren 人 认 忍 韧 仁
  • 原文地址:https://www.cnblogs.com/planetwithpig/p/13986210.html
Copyright © 2020-2023  润新知