前端模拟(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)
情景: 领导:小吴啊,最近在忙什么啊? 前吴:(心想:我擦勒,难道划水被领导发现了?也不能怪我啊,后台的哥们接口还没给呢,但要是实话实说不就对不起后台哥们了吗?) ...
随机推荐
- android 监听Home键
/** * Home 键监听,当按下Home键时,系统会发出action为Intent.ACTION_CLOSE_SYSTEM_DIALOGS的BroadcastReceiver * 在程序里动态注册 ...
- firefox插件之 vimperator 的使用
简介: vimperator 是 Firefox浏览器下的一个插件,可以让我们像使用vim 一样使用 firefox浏览器,高效畅快,不用鼠标了.它的官网为:http://www.vimperator ...
- e557. 在Applet中显示图片
See also e551 精简的Applet. Image image; public void init() { // Load image image = getImage(getDocumen ...
- JBPM——工作流概念
一.概念 工作流(Workflow),就是"业务过程的部分或总体在计算机应用环境下的自己主动化",它主要解决的是"使在多个參与者之间依照某种提前定义的规 ...
- QButtonGroup:按钮类的非可视化容器,默认可实现按钮的子类实例的单选。
QButtonGroup The QButtonGroup class provides a container to organize groups of button widgets. QButt ...
- 在VS中写js的同学注意了。。。。。。。。。。。。。。。。。。。
在vs中安装扩展jsdoc就可以实现这个功能
- java web 复选框checked
熟悉web前端开发的人都知道,判断复选框是否选中是经常做的事情,判断的方法很多,但是开发过程中常常忽略了这些方法的兼容性,而是实现效果就好了.博主之前用户不少方法,经常Google到一些这个不好那个不 ...
- Unity3D面试——真实的面试,unity3d面试
本来想写一个系列的,一半是抨击现在面试之水,要人之奸,用大哥的话说,要走新手是做螺丝钉和抹布用的.另一半是对出出学校的或者是自废武功转3d的朋友们提供一个比较有价值的参考.不过我时间实在仓促.没有保证 ...
- VS2008 Output窗口自动滚动
Output窗口默认是自动滚动的,活动光标始终处于最后一行. 但是有时候因为某些操作可能导致Output窗口的自动滚动停止. 如何恢复自动滚动呢? 使用快捷键操作即可:Ctrl + End
- phpcms v9如何更改分页显示条数?
默认显示页码数有10条,比如想更改成显示3条,例如这样 上一页 1 2 3...34 下一页 更改phpcms\libs\functions\global.func.php,找到分页函数,大概在665 ...