最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nodejs清空/刪除指定文件夾下面所有文件或文件夾的方法示例

 更新時間:2023年04月12日 09:09:05   作者:miemiem_  
這篇文章主要介紹了nodejs清空/刪除指定文件夾下面所有文件或文件夾的方法,通過兩個具體案例形式分析了node.js同步刪除文件/文件夾,以及異步刪除文件/文件夾的相關實現(xiàn)技巧,涉及遞歸遍歷與文件判斷、回調等相關操作,需要的朋友可以參考下

同步函數(shù):

//使用fs.readdir()方法讀取文件夾中的所有文件和文件夾,然后使用遞歸來刪除每個文件和文件夾。
const fs = require('fs');
const path = require('path');
?
function deleteFolderRecursive(folderPath) {
? //判斷文件夾是否存在
? if (fs.existsSync(folderPath)) {
? ? //讀取文件夾下的文件目錄,以數(shù)組形式輸出
? ? fs.readdirSync(folderPath).forEach((file) => {
? ? ? //拼接路徑
? ? ? const curPath = path.join(folderPath, file);
? ? ? //判斷是不是文件夾,如果是,繼續(xù)遞歸
? ? ? if (fs.lstatSync(curPath).isDirectory()) {
? ? ? ? deleteFolderRecursive(curPath);
? ? ? } else {
? ? ? ? //刪除文件或文件夾
? ? ? ? fs.unlinkSync(curPath);
? ? ? }
? ? });
? ? //僅可用于刪除空目錄
? ? fs.rmdirSync(folderPath);
? }
}
?
// 刪除文件夾下的所有文件和文件夾
deleteFolderRecursive('/path/to/folder');

異步函數(shù):

const fs = require('fs');
const path = require('path');
?
function deleteFolderRecursive(folderPath) {
? if (fs.existsSync(folderPath)) {
? ? fs.readdir(folderPath, (err, files) => {
? ? ? if (err) throw err;
?
? ? ? for (const file of files) {
? ? ? ? const curPath = path.join(folderPath, file);
? ? ? ? fs.stat(curPath, (err, stats) => {
? ? ? ? ? if (err) throw err;
?
? ? ? ? ? if (stats.isDirectory()) {
? ? ? ? ? ? deleteFolderRecursive(curPath);
? ? ? ? ? } else {
? ? ? ? ? ? fs.unlink(curPath, (err) => {
? ? ? ? ? ? ? if (err) throw err;
? ? ? ? ? ? });
? ? ? ? ? }
? ? ? ? });
? ? ? }
?
? ? ? fs.rmdir(folderPath, (err) => {
? ? ? ? if (err) throw err;
? ? ? });
? ? });
? }
}
?
// 刪除文件夾下的所有文件和文件夾
deleteFolderRecursive('/path/to/folder');

PS:看到這段代碼,筆者就想起初學node.js的場景,補充幾點曾經踩過的坑~

1.common.js模式下使用require引入模塊,對于path模塊來說,此時可以直接使用__dirname常亮,而ES6語法情況下,使用module模式,import引入path模塊時,不能直接使用__dirname常亮,需要手動定義:

const __dirname = path.resolve();

2.路徑問題:因為部署環(huán)境有可能是Windows,也可能是Linux,因此,涉及到路徑的引入最好是使用path.join()方法結合__dirname 常亮定義出完整的路徑!

3.注意異步操作的不確定性,需要用到函數(shù)返回值的話,不要使用異步函數(shù)?。ㄎ赐甏m(xù)……)

相關文章

  • 使用express來代理服務的方法

    使用express來代理服務的方法

    這篇文章主要介紹了使用express來代理服務的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • 垃圾回收器的相關知識點總結

    垃圾回收器的相關知識點總結

    本文是小編在網(wǎng)絡上整理的關于垃圾回收器的相關知識點,很多語言和程序都用的到,有興趣的可以學習下。
    2018-05-05
  • node如何實現(xiàn)簡單的腳手架淺析

    node如何實現(xiàn)簡單的腳手架淺析

    在工作中,需要開發(fā)一個腳手架,用于給相關用戶提供相關的開發(fā)便利性,下面這篇文章主要給大家介紹了關于node如何實現(xiàn)簡單的腳手架的相關資料,需要的朋友可以參考下
    2022-05-05
  • 如何自定義node版本,實現(xiàn)node多版本控制方式

    如何自定義node版本,實現(xiàn)node多版本控制方式

    這篇文章主要介紹了如何自定義node版本,實現(xiàn)node多版本控制方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Node Express用法詳解【安裝、使用、路由、中間件、模板引擎等】

    Node Express用法詳解【安裝、使用、路由、中間件、模板引擎等】

    這篇文章主要介紹了Node Express用法,結合實例形式詳細分析了node.js Express安裝、使用、路由、中間件、模板引擎等相關概念、原理及操作注意事項,需要的朋友可以參考下
    2020-05-05
  • 深入理解NodeJS 多進程和集群

    深入理解NodeJS 多進程和集群

    這篇文章主要介紹了深入理解NodeJS 多進程和集群,詳細的介紹了什么是進程和進程的實現(xiàn)等,非常具有實用價值,需要的朋友可以參考下
    2018-10-10
  • 淺析nodejs實現(xiàn)Websocket的數(shù)據(jù)接收與發(fā)送

    淺析nodejs實現(xiàn)Websocket的數(shù)據(jù)接收與發(fā)送

    WebSocket是HTML5開始提供的一種瀏覽器與服務器間進行全雙工通訊的網(wǎng)絡技術,本文給大家介紹nodejs實現(xiàn)websocket的數(shù)據(jù)庫接收與發(fā)送,小伙伴們一起學習吧
    2015-11-11
  • electron原理,以及electron生成可執(zhí)行文件的方法實例分析

    electron原理,以及electron生成可執(zhí)行文件的方法實例分析

    這篇文章主要介紹了electron原理,以及electron生成可執(zhí)行文件的方法,結合實例形式分析了electron原理以及electron生成可執(zhí)行文件的具體操作步驟、實現(xiàn)方法與相關注意事項,需要的朋友可以參考下
    2023-04-04
  • nodejs報digital?envelope?routines::unsupported錯誤的最新解決方法

    nodejs報digital?envelope?routines::unsupported錯誤的最新解決方法

    這篇文章主要介紹了nodejs報digital?envelope?routines::unsupported錯誤的最新解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • node.js命令行教程圖文詳解

    node.js命令行教程圖文詳解

    本文先介紹原生的node.js實現(xiàn)命令行交互,了解原生的api,然后通過commander.js和inquirer.js實現(xiàn)一個完整的交互命令行工具。感興趣的朋友跟隨小編一起看看吧
    2019-05-05

最新評論

巧家县| 宜兰县| 鹤峰县| 灵璧县| 扶风县| 临城县| 枞阳县| 武义县| 平泉县| 成安县| 中牟县| 青州市| 巴青县| 富阳市| 城口县| 麻栗坡县| 无为县| 区。| 房产| 大厂| 天长市| 太和县| 象山县| 澎湖县| 台北县| 郸城县| 冕宁县| 安庆市| 屏边| 武宁县| 罗平县| 沈阳市| 襄汾县| 清丰县| 长泰县| 河南省| 迭部县| 尚志市| 东阿县| 辽中县| 涿州市|