nodejs清空一个指定的文件夹

1. 清空一个文件夹

  • 传入路径
  • 读取文件夹的中文件
  • 判读文件、文件夹

2. 用到的模块

path

  • __dirname 当前模块的目录名称
  • path模块
const path = require('path');
// 解析路径的方法
const dir = path.resolve(__dirname, '文件名称')

fs

const fs = require('fs');
fs.existsSync(dir); // 确定目录是不是存在
fs.readdirSync(dir); // 读取目录下的文件(包含文件+文件夹)
    
// 判断文件这些文件是文件还是文件夹呢?
const stat = fs.lstatSync(path); // 返回当前路径的信息 fs.Stats
stat.isDirectory(); // 如果fs.Dirent对象描述文件系统目录,则返回true。
stat.isFile(); // 如果fs.Dirent对象描述了常规文件,则返回true。

3. 清空一个目录吧

const fs = require('fs');
const path = require('path');
const removeDir = (option) => {
    const { dir } = option;
    if (!dir || !fs.existsSync(dir)) return;

    // 读取目录中文件夹
    const files = fs.readdirSync(dir);
    files.forEach((file) => {
        const filePath = path.resolve(dir, file);
        const stat = fs.lstatSync(filePath);
        // 如果是directory, 就递归
        if (stat.isDirectory()) {
            removeDir({ dir: filePath });
            return;
        }
        // 如果是文件 就删除
        if (stat.isFile()) {
            fs.unlinkSync(filePath);
        }
    });

    // 删除空目录
    fs.rmdirSync(dir);
};

removeDir({dir:path.resovle(__dirname,'.cache')});

4. 当然这并不是最终解决方案 ( ﹁ ﹁ ) ~→ 下面才是

项目中我们见到最多的是下面这个包
https://www.npmjs.com/package/rimraf

npm install rimraf

5. 但是

  • node的api 有时间还是要看一看用一用的,因为前端终于可以做一些非前端的事情
  • node使前端终于可以摸一摸后端的同学的技术栈了,哈哈~~~~
上一篇:python的os模块操作linux权限


下一篇:WPF绑定命令在MVVM的CanExecute和Execute在按钮点击都没触发可能的原因...