成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

DevTTL / 1314人閱讀

摘要:使用寫一個(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("