本文小編為大家詳細(xì)介紹“nodejs怎么實現(xiàn)目錄不存在自動創(chuàng)建”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“nodejs怎么實現(xiàn)目錄不存在自動創(chuàng)建”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
創(chuàng)新互聯(lián)公司是一家專注于做網(wǎng)站、成都網(wǎng)站制作與策劃設(shè)計,友好網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:友好等地區(qū)。友好做網(wǎng)站價格咨詢:028-86922220
一、fs.mkdir
fs.mkdir()是Node.js自帶的API,它用于創(chuàng)建目錄,其定義如下:
fs.mkdir(path[, options], callback)
其中,參數(shù)path表示要創(chuàng)建的目錄路徑;參數(shù)options為可選,表示目錄的屬性,默認(rèn)值為0o777(即所有用戶均有讀寫執(zhí)行權(quán)限);參數(shù)callback是一個回調(diào)函數(shù),用于在目錄創(chuàng)建成功或失敗后執(zhí)行。
簡單來說,fs.mkdir方法通過檢查指定路徑的目錄是否存在來判斷是否需要創(chuàng)建該目錄。如果目錄不存在,則它會嘗試創(chuàng)建該目錄。
下面是一個使用fs.mkdir創(chuàng)建目錄的示例:
const fs = require('fs'); fs.mkdir('/path/to/dir', { recursive: true }, (error) => { if (error) { console.error(`創(chuàng)建目錄失?。?{error}`); } else { console.log('目錄創(chuàng)建成功'); } });
該示例中,參數(shù)recursive設(shè)置為true即可實現(xiàn)目錄自動創(chuàng)建。如果該參數(shù)未設(shè)置為true,則當(dāng)目錄的任何一個父級目錄不存在時,將會拋出一個異常。
二、mkdirp
mkdirp是Node.js的一個第三方模塊,它提供了一個更加便捷的方法來創(chuàng)建目錄。與fs.mkdir不同的是,mkdirp會自動判斷目錄是否存在,如果不存在,則會創(chuàng)建該目錄;如果目錄存在,則會自動返回。
使用方法如下:
mkdirp(dir, [options], function (err) { if (err) console.error(err); else console.log('成功創(chuàng)建目錄:' + dir) });
其中,參數(shù)dir表示要創(chuàng)建的目錄路徑,參數(shù)options為可選,表示目錄的屬性;回調(diào)函數(shù)可用于在目錄創(chuàng)建成功或失敗后執(zhí)行。
mkdirp與fs.mkdir不同的是,它能夠遞歸創(chuàng)建目錄,并且支持通過callback對成功/失敗進(jìn)行處理。
三、Node.js 10中新增方法
在Node.js 10中,fs.mkdir方法新增了一個recursive參數(shù),用于遞歸地創(chuàng)建目錄。若該參數(shù)設(shè)置為true,則可以在創(chuàng)建目錄時自動創(chuàng)建其上級目錄。
使用方法如下:
const fs = require('fs'); fs.mkdir('/path/to/dir', { recursive: true }, (error) => { if (error) { console.error(`創(chuàng)建目錄失?。?{error}`); } else { console.log('目錄創(chuàng)建成功'); } });
在Node.js 10之前,像上述代碼中那樣直接創(chuàng)建目錄時,必須要手動先創(chuàng)建目錄的各級父目錄。而在Node.js 10之后,設(shè)置recursive為true后,可以實現(xiàn)自動創(chuàng)建。
讀到這里,這篇“nodejs怎么實現(xiàn)目錄不存在自動創(chuàng)建”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。