node 里邊可以刪除文件、文件夾、但不能刪除帶文件的文件夾,
如下代碼:先刪除掉文件夾下的文件,最后再刪除文件夾,以此來保證代碼正常運(yùn)行
const fs = require("fs");
/**
* 刪除整個(gè)文件夾
* @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");
}