a api middleware hotloaded
demo
配置
var express = var bodyParser = var app = /* 如果你要接收POST、PUT、DELETE请求的参数,必须使用bodyParser处理 */ app; app; const apiConfig = path:'/demo/:id' file:'/demo' app;
备注:
- 所有的模拟数据均位于api目录下,目录路径对应请求路径,简单的请求路径直接对应文件相对路径
- 特殊的如urlParams,需要配置对应规则,详见示例
书写模拟数据
简单示例
exports { return id: 1 txt: '健康饮食' id: 2 txt: '心理健康' id: 3 txt: '冬令进补' id: 4 txt: '运动补水' }
复杂示例
const Mock = MockRandom const item = 'type': '@clsType' 'name': '@cname' 'birthday': '@date(yyyy-MM-dd)' // 'height': '@float(30,220,0,0)', 'weight': '@float(5,150,2,2)' 'intro': '@cparagraph(3)' ; const reqMockConfig = 'type': '@clsType' exports{ /* method:请求方式(string),值为GET、POST、PUT、DELETE之一 data:参数(Object),用户传递的param1可以用data.param1获取 return string */ ifMocklength === 0 return JSON; else // 捕捉到不符合规则的提交数据,进行相关业务处理 return JSON }
demo with webpack
dev-server.js
// ...var mockTable = configdevmockTableObject// ...
config/index.js
var mockConfig = path:'/demo/:id' file:'/demo'// 对应的模拟数据文件api/demo.jsmoduleexports = // ... dev: // ... mockTable: '/api': // 要使用模拟数据的url路径 mockConfig allowOrigin: 'http://localhost:8080' // 域名白名单 crosCookie: true // 允许跨域cookie,默认false unsafeMode: true // 允许非安全的get请求,默认false