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

Node.js中fs模塊實現(xiàn)配置文件的讀寫操作

 更新時間:2024年04月28日 10:49:30   作者:丶虎子  
在Node.js中, fs模塊提供了對文件系統(tǒng)的訪問功能,我們可以利用它來實現(xiàn)配置文件的讀取和寫入操作,這篇文章主要介紹了Node.js中fs模塊實現(xiàn)配置文件的讀寫,需要的朋友可以參考下

Node.js中fs模塊實現(xiàn)配置文件的讀寫 

在Node.js中, fs模塊提供了對文件系統(tǒng)的訪問功能,我們可以利用它來實現(xiàn)配置文件的讀取和寫入操作。正好用到,就記錄一下。

準(zhǔn)備工作

確保你的項目目錄已經(jīng)安裝了做了npmpnpmyarn等node相關(guān)初始化,存在node_modules文件夾,這樣就可以使用fs

const fs = require('fs');

接下來就是定義路徑,我是用到年月來定義路徑,并放在當(dāng)前路徑的storeConfigs下:

const path = require('path');
const date = getDate();
// 文件夾路徑 ./storeConfigs/${date.year}/${date.month}
const folderPath = path.resolve(__dirname, 'storeConfigs', `${date.year}`, `${date.month}`);
// 用date.day來定義文件名  ./storeConfigs/${date.year}/${date.month}/${date.day}
const aFilePath = path.resolve(folderPath, `${date.day}`);
// 獲取當(dāng)前日期
function getDate() {
    const currentDate = new Date();
    const year = currentDate.getFullYear();
    const month = currentDate.getMonth() + 1;
    const day = currentDate.getDate();
    return { year: year, month: month, day: day };
}

讀取配置

要實現(xiàn)讀取的邏輯,首先要做下文件夾排空報錯處理,!fs.existsSync(folderPath)假如路徑不存在,那代表文件也不存在,mkdirp(folderPath);根據(jù)路徑創(chuàng)建文件夾,再 fs.writeFileSync(aFilePath, '{}');創(chuàng)建文件。假如存在路徑,!fs.existsSync(aFilePath)文件不存在,創(chuàng)建文件:

function CheckPathOrFiles() {
    if (!fs.existsSync(folderPath)) {
            mkdirp(folderPath);
            fs.writeFileSync(aFilePath, '{}');
        } else {
            if (!fs.existsSync(aFilePath)) {
                console.log(`創(chuàng)建文件:${aFilePath}`);
                fs.writeFileSync(aFilePath, '{}');
            }
        }
}
function mkdirp(dir) {
    if (fs.existsSync(dir)) { return true; }
    const dirname = path.dirname(dir);
    mkdirp(dirname); // 遞歸創(chuàng)建父目錄
    fs.mkdirSync(dir);
}

在上面的代碼中,我重構(gòu)了mkdirp函數(shù)來創(chuàng)建空文件夾,而沒有使用fs自帶的mkdirSync(),使用后報錯
Error: ENOENT: no such file or directory.Object.fs.mkdirSync,大致原因就是node.js低版本的漏洞吧,你也可以嘗試直接使用下面代碼代替mkdirp(folderPath);試試。

fs.mkdirSync(folderPath, { recursive: true }); // 遞歸創(chuàng)建路徑

然后編寫讀取函數(shù)getHostConfigs(),通過fs.readFileSync(aFilePath, 'utf8')獲取到aFilePath該文件路徑下的文件:

function getHostConfigs() {
    console.log('進入讀取環(huán)節(jié)..')
    try {
        CheckPathOrFiles()
        // 讀取文件配置
        const data = fs.readFileSync(aFilePath, 'utf8');
        const hostConfigs = JSON.parse(data);
        console.log('配置校驗成功!!');
        return hostConfigs;
    } catch (error) {
        console.error('讀取失敗:', error);
        return null;
    }
}

接下來是配置的更新寫入,這部分可以根據(jù)自己需求來,比較重要的是let hostConfigs = getHostConfigs();讀取配置,然后在這個函數(shù)里利用fs.writeFile(aFilePath,data)實現(xiàn)寫入邏輯:

function updateHostConfigs(config) {
    let hostConfigs = getHostConfigs();
    if (!hostConfigs) {
        hostConfigs = {};
    }
    if (config.host) {
        hostConfigs[config.host] = config;
    }
    // 寫入配置
    fs.writeFile(aFilePath, JSON.stringify(hostConfigs), (err) => {
        if (err) {
            console.error('寫入出錯:', err);
        } else {
            console.log('配置寫入成功..');
        }
    });
    console.log(hostConfigs);
}

最后導(dǎo)出模塊,方便其他腳本使用:

module.exports = {
    updateHostConfigs,
    getHostConfigs
};

到此這篇關(guān)于Node.js中fs模塊實現(xiàn)配置文件的讀寫的文章就介紹到這了,更多相關(guān)Node.js fs模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Windows系統(tǒng)中安裝nodejs圖文教程

    Windows系統(tǒng)中安裝nodejs圖文教程

    這篇文章主要介紹了Windows系統(tǒng)中安裝nodejs圖文教程,本文分解了安裝中的各個步驟并給出圖文說明,需要的朋友可以參考下
    2015-02-02
  • 如何在Nodejs中使用模塊fs文件系統(tǒng)

    如何在Nodejs中使用模塊fs文件系統(tǒng)

    這篇文章主要介紹了如何在Nodejs中使用模塊fs文件系統(tǒng),對nodejs感興趣的同學(xué),可以參考下
    2021-05-05
  • nodejs圖片處理工具gm用法小結(jié)

    nodejs圖片處理工具gm用法小結(jié)

    這篇文章主要介紹了nodejs圖片處理工具gm用法小結(jié),詳細的介紹了gm的使用,還有圖片處理的實例,非常具有實用價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • nodeJS刪除文件方法示例

    nodeJS刪除文件方法示例

    這篇文章主要介紹了nodeJS刪除文件方法,結(jié)合實例形式分析了nodeJS實現(xiàn)文件與目錄的獲取、遍歷與刪除相關(guān)操作技巧,需要的朋友可以參考下
    2016-12-12
  • Node.js控制臺彩色輸出的方法與原理實例詳解

    Node.js控制臺彩色輸出的方法與原理實例詳解

    這篇文章主要給大家介紹了關(guān)于Node.js控制臺彩色輸出的方法與原理的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Node.js具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 利用node 判斷打開的是文件 還是 文件夾的實例

    利用node 判斷打開的是文件 還是 文件夾的實例

    今天小編就為大家分享一篇利用node 判斷打開的是文件 還是 文件夾的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • NodeJs安裝npm包一直失敗的解決方法

    NodeJs安裝npm包一直失敗的解決方法

    本篇文章主要介紹了NodeJs安裝npm包一直失敗的解決方法。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04
  • nodejs實現(xiàn)百度輿情接口應(yīng)用示例

    nodejs實現(xiàn)百度輿情接口應(yīng)用示例

    這篇文章主要介紹了nodejs實現(xiàn)百度輿情接口應(yīng)用,結(jié)合實例形式分析了node.js調(diào)用百度輿情接口的具體使用技巧,需要的朋友可以參考下
    2020-02-02
  • 淺談在node.js進入文件目錄的問題

    淺談在node.js進入文件目錄的問題

    今天小編就為大家分享一篇淺談在node.js進入文件目錄的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 垃圾回收器的相關(guān)知識點總結(jié)

    垃圾回收器的相關(guān)知識點總結(jié)

    本文是小編在網(wǎng)絡(luò)上整理的關(guān)于垃圾回收器的相關(guān)知識點,很多語言和程序都用的到,有興趣的可以學(xué)習(xí)下。
    2018-05-05

最新評論

同德县| 临汾市| 莆田市| 铁岭市| 竹北市| 金堂县| 河南省| 门头沟区| 湟中县| 桐柏县| 康保县| 克拉玛依市| 峡江县| 区。| 兴和县| 兖州市| 涿州市| 通榆县| 溆浦县| 岳池县| 文山县| 彭山县| 台东县| 东港市| 蕲春县| 上杭县| 旬邑县| 防城港市| 崇仁县| 阜宁县| 台中市| 青州市| 宜兰县| 文成县| 凯里市| 平乡县| 华容县| 手机| 饶河县| 南宁市| 林周县|