Node.js fs-extra emptyDir()函数
fs-extra是一个模块,它添加了本机 fs 模块中不包含的文件系统方法。它还为 fs 方法添加了 Promise 支持。一些文件系统方法不包含在本机 fs 模块中,因此,如果我们需要使用它们,则必须单独安装它们,但是 fs-extra 模块具有所有这些方法,这使其成为 fs 模块的绝佳替代品。
顾名思义, emptyDir()函数清空整个目录。如果目录中有任何内容可用,则使用此函数将其删除。目录本身不会被删除,只会删除目录中存在的内容。如果目录不存在,则创建它。
句法:
fs.emptyDir(dir,callback)
参数:
- dir:它是一个字符串,包含将被清空的目录的路径。
- callback:当目录为空时调用的函数。它是一个可选参数。我们也可以使用 Promise 代替回调函数。
返回值:该函数不返回任何内容。
按照以下步骤实现该函数:
1. 可以使用以下命令安装模块:
npm install fs-extra
2. 安装模块后,您可以使用以下命令检查已安装模块的版本:
npm ls fs-extra
3. 创建一个名为 index.js 的文件,并使用以下命令在文件中要求 fs-extra 模块:
const fs = require('fs-extra');
4. 创建一个名为 test 的文件夹,并在该文件夹中添加一些文件。这是我们将在函数中传递的文件夹。
5. 要运行该文件,请在终端中写入以下命令:
node index.js
项目结构:项目结构将如下所示。
示例 1:下面的示例说明了 fs-extra emptyDir()函数。
文件名:index.js
Javascript
// index.js
// Requiring module
const fs = require('fs-extra');
// Function call
// Using callback function
fs.emptyDir('./test',err => {
if(err){
console.log(err);
return;
}
console.log('All files deleted from directory Successfully.');
})
Javascript
// Index.js
// Requiring module
const fs = require('fs-extra');
// Function Call
// Using promises
fs.emptyDir('./test')
.then(() => console.log('All files deleted Successfully'))
.catch(e => console.log(e))
输出:测试文件夹中的所有文件现在都被删除了。所以测试文件夹现在是空的。
All files deleted from directory Successfully.
示例 2:下面的示例说明了 fs-extra emptyDir()函数。
文件名:index.js
Javascript
// Index.js
// Requiring module
const fs = require('fs-extra');
// Function Call
// Using promises
fs.emptyDir('./test')
.then(() => console.log('All files deleted Successfully'))
.catch(e => console.log(e))
输出:再次测试文件夹现在是空的。这就是emptyDir()函数的使用方式。
All files deleted Successfully
参考: https://github.com/jprichardson/node-fs-extra/blob/HEAD/docs/emptyDir.md