express-devtool
v1.1.3
Published
本地开发API处理中间件,提供数据模拟,接口proxy,页面跳转等功能提升前端本地开发能力。
Downloads
19
Readme
express-devtool
本地开发API处理中间件,提供数据模拟,接口proxy,页面跳转等功能提升前端本地开发能力。
无论你基于是 webpack
还是 fis
,都可以用 express-devtool
来进行API模拟转发。
加载中间件
app.use(require('express-devtool')({
mockDir: path.join(__dirname, 'mock') //定义mock目录
}));
目录规范
mock
├─ server.conf // 配置中心
├─ sample.json // json数据
├─ dynamic.js // js动态数据
...
如何使用
前端接口的mock主要在server.conf
里面进行配置
server.conf 配置语法
指令名称 正则规则 目标文件
指令名称
支持 rewrite 、 redirect 和 proxy。正则规则
用来命中需要作假的请求路径目标文件
设置转发的目标地址,需要配置一个可请求的 url 地址。
1. mock 静态假数据
rewrite ^/api/user$ /mock/sample.json
{
"error": 0,
"message": "ok",
"data": {
"username": "younth",
"age": 25,
"company": "taobao"
}
}
2. mock 动态假数据
node 服务器可以通过 js 的方式提供动态假数据。动态数据本质是一个 route. rewrite ^/api/dynamic/time$ /mock/dynamic.js
module.exports = function(req, res, next) {
res.write('Hello world ');
// set custom header.
// res.setHeader('xxxx', 'xxx');
res.end('The time is ' + Date.now());
};
// 更复杂的,可以直接引用其他模块,发送请求
var http = require('http');
var url = require('url');
var util = require('util');
var querystring = require('querystring');
// 通过nodejs来抓取线上的结果。这样就完成了动态获取线上数据的功能
module.exports = function(request, response, next) {
var method = request.method;
...
};
3. proxy 到其他服务
proxy能力支持正则分组。支持post及get请求的proxy
proxy ^\/wmall\/privilege\/(.*)$ http://10.19.161.92:8059/wmall/privilege/$1
4. 重定向 redirect
redirect ^\/api\/taobao$ http://www.taobao.com