const fs = require('fs')
const path = require('path')

//1.删除旧是目录
function deleteFolder(path) {
  let files = []
  if (fs.existsSync(path)) {
    files = fs.readdirSync(path)//同步版的 fs.exists,检测给定的路径是否存在。
    files.forEach(file => {
      let curPath = path + '/' + file
      let stat = fs.statSync(curPath)//同步 stat(). 返回 fs.Stats 的实例。文件信息
      if (stat.isDirectory()) {//是否是目录
        //递归删除目录
        deleteFolder(curPath)
      } else {
        fs.unlinkSync(curPath)//删除文件,同步
      }
    })
    fs.rmdirSync(path)//删除根目录
  }
}

//删除临时文件
function deleteTemp(path) {
  let files = []
  if (fs.existsSync(path)) {
    files = fs.readdirSync(path)
    files.forEach(file => {
      let curPath = path + '/' + file
      let stat = fs.statSync(curPath)
      if (stat.isFile() && /.+\.(zip|log)$/.test(file)) {
        fs.unlinkSync(curPath)
      }
    })
  }
}

//删除之前的旧目录和文件
deleteFolder(path.join(__dirname, '..', 'dist'))
deleteTemp(path.join(__dirname, '..'))
deleteTemp(path.join(__dirname, '../deploy'))
Logo

前往低代码交流专区

更多推荐