1. `path`参数
这是`rmSync`方法中最关键的参数,用于指定要删除的文件或目录的路径。路径可以是绝对路径,也可以是相对路径。
绝对路径:假设你要删除位于系统根目录下`/Users/user/Documents/test.txt`这个文件
const fs = require("fs");const filePath = "/Users/user/Documents/test.txt";try {fs.rmSync(filePath);console.log("文件已删除");} catch (error) {console.error("删除文件出错:", error);}
相对路径:如果你的 Node.js 脚本和要删除的文件位于同一目录下,例如要删除当前目录下的`test.txt`文件
const fs = require("fs");const filePath = "./test.txt";try {fs.rmSync(filePath);console.log("文件已删除");} catch (error) {console.error("删除文件出错:", error);}
2. `options`参数
2.1 `recursive`选项(用于目录删除)
功能:这是一个布尔值选项,用于指定是否递归删除目录。当设置为`true`时,如果`path`指向的是一个目录,`rmSync`会删除该目录及其所有子目录和文件;如果设置为`false`(默认值),并且`path`指向一个非空目录,将会抛出一个错误。
const fs = require("fs");const dirPath = "./test - directory";try {fs.rmSync(dirPath, { recursive: true });console.log("目录已删除");} catch (error) {console.error("删除目录出错:", error);}
2.2 `force`选项(用于处理不存在的文件或目录)
功能:这也是一个布尔值选项,当设置为`true`时,如果`path`指向的文件或目录不存在,`rmSync`不会抛出错误;如果设置为`false`(默认值),当文件或目录不存在时,会抛出一个`ENOENT`(没有这样的实体)错误。
const fs = require("fs");const nonExistentPath = "./nonexistent - file.txt";try {fs.rmSync(nonExistentPath, { force: true });console.log("操作完成,即使文件不存在也未出错");} catch (error) {console.error("删除文件出错:", error);}