📅  最后修改于: 2023-12-03 15:17:54.486000             🧑  作者: Mango
fs.rm()
方法是 Node.js v14.14.0 版本新增的文件系统 API。它用于删除文件或目录。这个方法接受两个参数:文件路径和一个可选的选项对象。
fs.rm(path, options, callback)
path
:字符串,要删除的文件或目录的路径。options
:可选对象,如果要指定高级选项,则传递一个 JSON 对象。callback
:回调函数,将被调用一旦操作完成。这个函数有一个参数,如果操作成功,传递为 null
,否则是一个 Error
对象。force
:布尔值,表示强制删除。默认为 false
,当 force
设置为 true
时,如果目录不为空,目录和子目录中的所有文件都将被删除。recursive
:布尔值,表示是否删除目录中的所有内容。默认为 false
,当 recursive
设置为 true
时,所有子目录和文件都将被递归删除。const fs = require('fs');
// 删除文件
fs.rm('./example.txt', (err) => {
if (err) throw err;
console.log('文件已删除');
});
// 删除空目录
fs.rm('./emptydir', (err) => {
if (err) throw err;
console.log('目录已删除');
});
// 删除非空目录
fs.rm('./dirname', { recursive: true, force: true }, (err) => {
if (err) throw err;
console.log('目录和子目录已删除');
});
在上面的示例中,第一个请求删除了名为 example.txt
的文件,第二个请求删除空的目录 emptydir
,第三个请求删除名为 dirname
的目录以及其所有子目录和文件。
在最后一个请求中,我们设置了 recursive
和 force
选项,以确保删除所有内容。如果未设置 force
选项,则可能会遇到如下错误:Error: ENOTEMPTY: directory not empty, rmdir ...
fs.unlink()
方法。