前端模拟(mock)接口数据(koa)
在前后端分离开发项目时,经常会有前后端进度不一致,可能前端界面开发已经完成,就等接口了,如果等接口出来再联调的话时间可能会来不及。
这个时候,前端就可以根据制定好的接口规范和接口文档来mock接口数据,这样等后端接口开发完成之后也不至于太匆忙。
Koa 是一个由 Express 幕后的原班人马打造的 web 框架。这里用它来mock数据、
1. 安装koa
npm install koa koa-router koa-body --save-dev // 只在开发的时候用所以是--save-dev
2. 在项目目录下新建mock文件夹,文件夹下新建server.js
const Koa = require('koa');
const router = require('koa-router')();
const koaBody = require('koa-body')();
const app = new Koa();
// log request URL:
app.use(async (ctx, next) => {
console.log(`Process ${ctx.request.method} ${ctx.request.url}...`);
await next();
});
router.get('/', async (ctx, next) => {
ctx.response.body = {
a:1,
b:'123'
}
});
router.get('/api/employees', async (ctx, next) => {
ctx.response.body = {
status:true,
data:[
{id:'N001',name:'张珊',phonenumber:'13912341000',birth:'1998-01-08'},
{id:'N002',name:'李珊',phonenumber:'13912342000',birth:'1998-01-08'},
{id:'N003',name:'旺珊',phonenumber:'13912343000',birth:'1998-01-08'},
],
msg:'获取数据成功'
}
});
router.post('/api/login',koaBody, async(ctx,next)=>{
var
username = ctx.request.body.username || '',
password = ctx.request.body.password || '';
console.log(`signin with username: ${username}, password: ${password}`);
if (username === 'admin' && password === '123456') {
ctx.response.body = {
status:true,
data:null,
mag:'登录成功'
}
} else {
ctx.response.body = {
status:false,
data:null,
mag:'用户名或密码错误'
}
}
})
// add router middleware:
app.use(router.routes());
app.listen(3000);
console.log('app started at port 3000...');
3. 运行--进到mock目录下 node server.js 或在package.json中配置 mock项然后在项目目录运行npm run mock
"scripts": {
"start": "set NODE_ENV=dev&&webpack-dev-server --progress --mode=development --colors",
"build": "rd/s/q build && set NODE_ENV=production webpack --config ./webpack.production.config.js --progress --colors --mode=production",
"mock": "node ./mock/server.js"
},
打开http://localhost:3000,可以看到get接口输出的数据
前端模拟(mock)接口数据(koa)的更多相关文章
- Mock接口数据 = mock服务 + iptable配置
一.mock接口数据应用场景: 1.测试接口A,A接口代码中调用其他服务的B接口,由于开发排期.测试环境不通等原因,依赖接口不可用 2.测试异常情况,依赖接口B返回的数据格式不对.返回None.超时等 ...
- Mock(模拟后端接口数据)配合Vuex的使用
1.下载Mock cnpm install Mockjs -S 2.新建一个data.js存放新生成的mock文件 编辑mock 并导出 const Mock = require('mockjs' ...
- 【小程序】模拟数据支持(mockjs配置模拟服务器接口数据)
utils目录 ①下载mockjs(地址)放置utils目录中 ②新建api.js :配置模拟数据以及后台接口,通过DEBUG=ture; //切换数据接口 配置如下: let API_HOST = ...
- 前端模拟后台返回数据之Mockjs
一.官方文档: https://github.com/nuysoft/Mock/wiki/Syntax-Specification 例子:http://mockjs.com/examples.html ...
- vue-cli搭建项目模拟后台接口数据,webpack-dev-conf.js文件配置
webpack.dev.conf.js 首先第一步 const express = require('express');const app = express();var appData = req ...
- 前端使用Mock服务Json-server
前言 由于Jaguar服务目前还没有任何的API输出,一边写前端功能,一边写后端API显然不利于整体的项目进展.所以我计划先定义好接口,然后将所有的API都先部署在一个Mock服务器上,等前端界面和功 ...
- 【Mock.js】前端模拟假数据,不用在手拼了
[Mock.js]前端模拟假数据,不用在手拼了:https://www.jianshu.com/p/8579b703a4c1
- vue mock 模拟接口数据
日常总结 希望能帮到大家 1 mock/sever.js //创建服务 let http=require('http') let fs=require('fs') let url=require(' ...
- 前后端分离之让前端开发脱离接口束缚(mock)
情景: 领导:小吴啊,最近在忙什么啊? 前吴:(心想:我擦勒,难道划水被领导发现了?也不能怪我啊,后台的哥们接口还没给呢,但要是实话实说不就对不起后台哥们了吗?) ...
随机推荐
- 消息中间件系列之Java API操作ActiveMQ
一.依赖 <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activem ...
- Qt 事件过滤器
Qt创建了QEvent事件对象之后,会调用QObject的event()函数做事件的分发.有时候,你可能需要在调用event()函数之前做一些另外的操作,比如,对话框上某些组件可能并不需要响应回车按下 ...
- 关于Cocos2d-x项目运行的过程和场景切换步骤
1.AppDelegate.cpp文件里面的applicationDidFinishLaunching函数其实可以看做C语言里面的main函数,是整个游戏运行的入口 这个函数里面的语句 auto sc ...
- nodejs基础 -- 事件循环
Node.js 事件循环 Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高. Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用, ...
- iOS多线程与网络开发之NSOperation
郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 游戏官方下 ...
- 一个不错的在线的js调试器
一个不错的在线的js调试器,可见即可得: http://jsbin.com/
- jQuery-处理元素内容、表单元素
处理元素内容 1.text方法 使用说明: 1)不传参数 得到jQuery对象内所有元素及其后代元素的文本内容 2)传入用于设置匹配元素的文本内容 3)传入function 使用函数来设置jQuery ...
- 演示-JQuery中伪元素和伪类选择器
HTML代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...
- Loadrunner进行md5加密方法
本文主要介绍使用Loadrunner进行字符串md5加密的方法. 使用Loadrunner进行md5比较简单,首先是加载md5.h头文件,后使用头文件中的加密函数即可. 1. md5.h头文件内容如下 ...
- 【转】如何读懂Oracle文档中的语法图
转自:http://blog.itpub.net/22990797/viewspace-750157/ Oracle文档中用到了两种表达语法的方法,语法图和BNF. BNF, Backus-Naur ...