node 递归删除指定文件夹下的所有文件

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");
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容