亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

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

DevTTL / 1341人閱讀

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

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

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

讀取mock文件夾

遍歷.js文件

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

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

請求類型 + 空格 + 請求地址作為key

當(dāng)收到的請求能在js對象中找到就返回結(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對象匯總
        let mockBundle = {};
        // 遍歷文件
        fileNameList.forEach(fileName => {
            const filePtah = path.resolve(`${mockDirPath}/${fileName}`);
            // 只讀取JS文件
            if (fileName.endsWith(".js")) {
                // 容錯(cuò),可能文件內(nèi)容有問題
                try {
                    const content = require(filePtah);
                    // 只合并對象
                    if (Object.prototype.toString.call(content) === "[object Object]") {
                        Object.assign(mockBundle, content);
                    }
                } catch (error) {
                    console.log("