<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        node+koa實(shí)現(xiàn)數(shù)據(jù)mock接口的方法

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:29:29
        文檔

        node+koa實(shí)現(xiàn)數(shù)據(jù)mock接口的方法

        node+koa實(shí)現(xiàn)數(shù)據(jù)mock接口的方法:基于node+koa實(shí)現(xiàn)的mock數(shù)據(jù)接口,Koa需要v7.6.0以上node版本,低于此版本請(qǐng)先升級(jí)node 目錄結(jié)構(gòu) // server.js const Koa = require('koa'); const Router = require('koa-router'); const qs = require('qs
        推薦度:
        導(dǎo)讀node+koa實(shí)現(xiàn)數(shù)據(jù)mock接口的方法:基于node+koa實(shí)現(xiàn)的mock數(shù)據(jù)接口,Koa需要v7.6.0以上node版本,低于此版本請(qǐng)先升級(jí)node 目錄結(jié)構(gòu) // server.js const Koa = require('koa'); const Router = require('koa-router'); const qs = require('qs

        基于node+koa實(shí)現(xiàn)的mock數(shù)據(jù)接口,Koa需要v7.6.0以上node版本,低于此版本請(qǐng)先升級(jí)node

        目錄結(jié)構(gòu)

        // server.js
        const Koa = require('koa');
        const Router = require('koa-router');
        const qs = require('qs');
        const assert = require('assert');
        
        const app = new Koa();
        const router = new Router();
        
        /**
         * 獲取列表數(shù)據(jù)
         * @param {request} page 頁(yè)數(shù)
         * @param {request} limit 每頁(yè)數(shù)據(jù)條數(shù)
         * @param {response} errno 返回狀態(tài)碼 0 ==> 返回成功 1 ==> 有錯(cuò)誤
         * @param {response} hasMore 是否有更多數(shù)據(jù)
         */
        let listData = require('./mock/list/list.js');
        
        router.get('/api/getlist/:page/:limit', function (ctx, next) {
         
         const page = ctx.params.page;
         const limit = ctx.params.limit;
         const maxPage = listData.length / limit;
         
         // 構(gòu)造返回對(duì)象
         let res = {
         errno: 0,
         data: {
         hasMore: true,
         data: []
         }
         };
        
         // 如果超過(guò)最大頁(yè)面數(shù)
         if ((page*1 + 1) >= maxPage) {
         res.data.hasMore = false;
         }
         res.data.data = listData.slice(page*limit, page*limit + limit);
         ctx.body = res;
        });
        
        /**
         * 獲取詳情數(shù)據(jù)
         * @param {request} id 商品id
         */
        const detailData = require('./mock/detail/detail.js');
        
        router.get('/api/getdetail/:id', function (ctx, next) {
        
         const id = ctx.params.id
         let res = {
         errno: 0,
         data: {
         data: []
         }
         }
         res.data.data = detailData;
         // todo...
         ctx.body = res;
        });
        
        /**
         * 提交評(píng)論
         * @param {request} id 用戶id
         * @param {request} uid 商品id
         * @param {request} msg 評(píng)論內(nèi)容
         */
        router.post('/api/comment', function (ctx, next) {
         
         const params = qs.parse(ctx.req._parsedUrl.query);
         const id = params.id;
         const uid = params.uid;
         const msg = params.msg;
         if (id === undefined || uid === undefined || msg === undefined) {
         ctx.body = {
         errno: 1,
         msg: '缺少參數(shù)'
         }
         } else {
         // todo...
         ctx.body = {
         errno: 0,
         msg: '評(píng)論成功'
         }
         }
        });
        
        app
         .use(router.routes())
         .use(router.allowedMethods());
        app.listen(3000);
        console.log("server is running at http://localhost:3000/");
        
        

        實(shí)際項(xiàng)目中,調(diào)用接口會(huì)遇到跨域的問(wèn)題,解決的方式有多種,這里介紹如何在webpack中配置

        module.exports = {
         ...
        
         devServer: {
         proxy: {
         // 將 `/api` 開(kāi)頭的 http 請(qǐng)求,都代理到 `localhost:3000` 上,由 koa 提供 mock 數(shù)據(jù)
         '/api': {
         target: 'http://localhost:3000',
         secure: false
         }
         }
         ...
         }
        }
        

        項(xiàng)目地址:https://github.com/daijingfeng/mock-server

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        node+koa實(shí)現(xiàn)數(shù)據(jù)mock接口的方法

        node+koa實(shí)現(xiàn)數(shù)據(jù)mock接口的方法:基于node+koa實(shí)現(xiàn)的mock數(shù)據(jù)接口,Koa需要v7.6.0以上node版本,低于此版本請(qǐng)先升級(jí)node 目錄結(jié)構(gòu) // server.js const Koa = require('koa'); const Router = require('koa-router'); const qs = require('qs
        推薦度:
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 成人毛片18女人毛片免费96| 中文字幕免费在线| 亚洲精品成a人在线观看夫| 77777亚洲午夜久久多喷| mm1313亚洲国产精品无码试看| 一级毛片一级毛片免费毛片| 可以免费观看的国产视频| 最近最新MV在线观看免费高清| 又爽又黄无遮挡高清免费视频 | 啦啦啦中文在线观看电视剧免费版 | a视频免费在线观看| 无码一区二区三区AV免费| 亚洲欧洲日产国产最新| 青青青视频免费观看| 91人成网站色www免费下载| 亚洲国产精品久久久久| 亚洲AV成人一区二区三区观看 | 精品免费久久久久久久| 免费看国产精品麻豆| 亚洲视频免费一区| 和老外3p爽粗大免费视频| 大陆一级毛片免费视频观看i| 亚洲成在人天堂一区二区| 亚洲成a人片在线观看天堂无码| 日韩a级毛片免费观看| 亚洲国产人成在线观看69网站 | 国产亚洲人成在线影院| 成在人线AV无码免费| 国产精品亚洲а∨无码播放不卡| 亚洲综合伊人久久综合| 亚洲AV无码成人网站在线观看| 亚洲日本中文字幕天堂网| 亚洲精品乱码久久久久蜜桃 | 国产精品亚洲专区在线观看| 国产日产成人免费视频在线观看| 亚洲永久在线观看| 亚洲国产成人爱av在线播放| 亚洲码欧美码一区二区三区| 五月亭亭免费高清在线| 国产精品亚洲色图| 久久丫精品国产亚洲av|