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使前端终于可以摸一摸后端的同学的技术栈了,哈哈~~~~