fs.rm()方法用於刪除給定路徑下的文件。也可以遞歸地使用它來刪除目錄。
用法:
fs.rm( path, options, callback );
參數:此方法接受上述和以下所述的三個參數:
- path:它包含必須刪除的文件的路徑。它可以是字符串,緩衝區或URL。
- options:該對象可用於指定將影響操作的可選參數,如下所示:
- force:它是一個布爾值。如果路徑不存在,則將忽略異常。
- recursive:它是一個布爾值,用於指定是否執行遞歸目錄刪除。在這種模式下,如果找不到指定的路徑並且在失敗時重試該操作,則不會報告錯誤。默認值為false。
- callback:執行該方法時將調用該函數。
- err:如果操作失敗,將拋出此錯誤。
以下示例說明了Node.js中的fs.rm()方法:
範例1:本示例使用fs.rm()方法刪除文件。
文件名:index.js
Javascript
// Import necessary modules
let fs = require('fs');
// List files before deleting
getCurrentFilenames();
fs.rm('./dummy.txt', { recursive:true }, (err) => {
if(err){
// File deletion failed
console.error(err.message);
return;
}
console.log("File deleted successfully");
// 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("");
}
使用以下命令運行index.js文件:
node index.js
輸出:
Current filenames: dummy.txt index.js node_modules package-lock.json package.json File deleted successfully Current filenames: index.js node_modules package-lock.json package.json
範例2:本示例將fs.rm()方法與遞歸參數一起使用以刪除目錄。
文件名:index.js
Javascript
// Import the filesystem module
const fs = require('fs');
// List the files in current directory
getCurrentFilenames();
// Trying to delete directory without the recursive parameter
fs.rm("./build", { recursive:false }, (err) => {
if (err) {
console.error(err);
}
else {
console.log("Non Recursive:Directory Deleted!");
}
});
// Using the recursive option to delete directory
fs.rm("./build", { recursive:true }, (err) => {
if (err) {
console.error(err);
}
else {
console.log("Recursive:Directory Deleted!");
// 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 SystemError [ERR_FS_EISDIR]:Path is a directory:rm returned EISDIR (is a directory) ./build at internal/fs/utils.js:688:23 at FSReqCallback.oncomplete (fs.js:184:5) { code:'ERR_FS_EISDIR', info:{ code:'EISDIR', message:'is a directory', path:'./build', syscall:'rm', errno:21 }, errno:[Getter/Setter:21], syscall:[Getter/Setter:'rm'], path:[Getter/Setter:'./build'] } Recursive:Directory Deleted! Current filenames: index.js node_modules package-lock.json package.json
參考:https://nodejs.org/api/fs.html#fs_fs_rm_path_options_callback
相關用法
- Node.js console.timeLog()用法及代碼示例
- Node.js fs.fsyncSync()用法及代碼示例
- Node.js process.nextTick()用法及代碼示例
- Node.js GM charcoal()用法及代碼示例
- Node.js GM blur()用法及代碼示例
- Node.js GM sharpen()用法及代碼示例
- Node.js GM drawLine()用法及代碼示例
- Node.js GM drawArc()用法及代碼示例
- Node.js GM drawPolyline()用法及代碼示例
- Node.js GM drawBezier()用法及代碼示例
- Node.js GM drawCircle()用法及代碼示例
- Node.js GM drawEllipse()用法及代碼示例
- Node.js GM drawPolygon()用法及代碼示例
注:本文由純淨天空篩選整理自pratikraut0000大神的英文原創作品 Node.js fs.rm() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。