成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

造輪子:用Node寫一個(gè)API Mock

DevTTL / 1347人閱讀

摘要:使用寫一個(gè)服務(wù)實(shí)現(xiàn)思路讀取文件夾遍歷文件嘗試導(dǎo)入文件內(nèi)容將文件內(nèi)容拼接成一個(gè)對(duì)象將請(qǐng)求類型空格請(qǐng)求地址作為當(dāng)收到的請(qǐng)求能在對(duì)象中找到就返回結(jié)果找不到結(jié)果返回獲取文件內(nèi)容同步讀取文件夾對(duì)象匯總遍歷文件只讀取文件容錯(cuò),可能文件內(nèi)容有問題只合并對(duì)

使用Node寫一個(gè)Mock服務(wù)

實(shí)現(xiàn)思路:

讀取mock文件夾

遍歷.js文件

嘗試導(dǎo)入文件內(nèi)容

將文件內(nèi)容拼接成一個(gè)對(duì)象

請(qǐng)求類型 + 空格 + 請(qǐng)求地址作為key

當(dāng)收到的請(qǐng)求能在js對(duì)象中找到就返回結(jié)果

找不到結(jié)果返回404

獲取文件內(nèi)容
    // ./src/utils/getMock.js

    const fs = require("fs");
    const path = require("path");

    const getMockBundleOfDir = (mockDirPath) => {
        // 同步讀取mock文件夾 
        const fileNameList = fs.readdirSync(mockDirPath);
        // mock對(duì)象匯總
        let mockBundle = {};
        // 遍歷文件
        fileNameList.forEach(fileName => {
            const filePtah = path.resolve(`${mockDirPath}/${fileName}`);
            // 只讀取JS文件
            if (fileName.endsWith(".js")) {
                // 容錯(cuò),可能文件內(nèi)容有問題
                try {
                    const content = require(filePtah);
                    // 只合并對(duì)象
                    if (Object.prototype.toString.call(content) === "[object Object]") {
                        Object.assign(mockBundle, content);
                    }
                } catch (error) {
                    console.log("