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