node 里边可以删除文件、文件夹、但不能删除带文件的文件夹,
如下代码:先删除掉文件夹下的文件,最后再删除文件夹,以此来保证代码正常运行
const fs = require("fs");
/**
* 删除整个文件夹
* @param {*} path
*/
function rmDir(path) {
new Promise(async (resolve) => {
if (fs.existsSync(path)) {
const dirs = [];
const files = await fs.readdirSync(path);
files.forEach(async (file) => {
const childPath = path + "/" + file;
if (fs.statSync(childPath).isDirectory()) {
await rmDir(childPath);
dirs.push(childPath);
} else {
await fs.unlinkSync(childPath);
}
});
dirs.forEach((fir) => fs.rmdirSync(fir));
resolve();
}
});
}
使用
async function useDelDir() {
await delDir("dist/docs");
}