📜  Node.js fs.rmSync() 方法

📅  最后修改于: 2022-05-13 01:56:42.135000             🧑  作者: Mango

Node.js fs.rmSync() 方法

fs.rmSync() 方法用于同步删除给定路径的文件。也可以通过配置选项对象递归地使用它来删除目录。它返回未定义。

句法:

fs.rmSync( path, options );

参数:此方法接受上面提到的两个参数,如下所述:

  • path:它保存必须删除的文件的路径。它可以是字符串、缓冲区或 URL。
  • options:它是一个对象,可用于指定将影响操作的可选参数,如下所示:
    • force:它是一个布尔值。如果路径不存在,异常将被忽略。
    • recursive:它是一个布尔值,指定是否执行递归目录删除。在这种模式下,如果没有找到指定的路径并且操作失败时重试,则不会报告错误。默认值为假。

下面的示例说明了 Node.js 中的 fs.rmSync() 方法:

示例 1:此示例使用 fs.rmSync() 方法删除文件。

文件名:index.js

Javascript
// Import necessary modules
let fs = require('fs');
  
// List files before deleting
getCurrentFilenames();
  
fs.rmSync('./dummy.txt');
  
// List files after deleting
getCurrentFilenames();
  
// This will list all files in current directory
function getCurrentFilenames() { 
    console.log("\nCurrent filenames:"); 
    fs.readdirSync(__dirname).forEach(file => { 
        console.log(file); 
    }); 
    console.log(""); 
}


Javascript
// Import the filesystem module 
const fs = require('fs'); 
    
// List the files in current directory 
getCurrentFilenames(); 
  
// Using the recursive option to delete directory 
fs.rmSync("./build", { recursive: true });
  
// List files after delete 
getCurrentFilenames(); 
    
// List all files in current directory
function getCurrentFilenames() { 
  console.log("\nCurrent filenames:"); 
  fs.readdirSync(__dirname).forEach(file => { 
    console.log(file); 
  }); 
  console.log("\n"); 
}


使用以下命令运行index.js文件:

node index.js

输出:

Current filenames:
dummy.txt
index.js
node_modules
package-lock.json
package.json


Current filenames:
index.js
node_modules
package-lock.json
package.json

示例 2:此示例使用带有递归参数的 fs.rmSync() 方法来删除目录。

文件名:index.js

Javascript

// Import the filesystem module 
const fs = require('fs'); 
    
// List the files in current directory 
getCurrentFilenames(); 
  
// Using the recursive option to delete directory 
fs.rmSync("./build", { recursive: true });
  
// List files after delete 
getCurrentFilenames(); 
    
// List all files in current directory
function getCurrentFilenames() { 
  console.log("\nCurrent filenames:"); 
  fs.readdirSync(__dirname).forEach(file => { 
    console.log(file); 
  }); 
  console.log("\n"); 
}

使用以下命令运行index.js文件:

node index.js

输出:

Current filenames:
build
index.js
node_modules     
package-lock.json
package.json

Current filenames:
index.js
node_modules
package-lock.json
package.json

参考: https://nodejs.org/api/fs.html#fs_fs_rmsync_path_options