轻量级本地mock服务器
- 使用中间件的方式挂载Mock服务,适用基于Express搭建的Node服务
- 提供初始化脚本,可根据配置一键生成响应文件列表
- 修改配置文件可热更新
// Install
npm install ej-mock --save-dev
mock-server
├── config.js // API配置目录
├── init.js // 初始化响应文件目录
├── response // 响应文件
│ ├── xxx // 响应文件子目录
│ ├── xxx // 响应文件子目录
// package.json
"scripts": {
...
"init-mock": "node mock-server/init.js"
},
只需建立response
目录,配置init.js
,config.js
,执行npm run init-mock
即可自动生成响应文件列表。
在Vue Cli 3 的项目中,通过配置vue.config.js将mock服务以中间件的形式挂载到开发服务器上。
// 通过中间件形式挂载到webpack-dev-server上,启动项目时可直接启动mock服务
const path = require('path');
const Mock = require('ej-mock').mock;
// 获取api列表
const api = require('./mock-server/config').api;
// 实例化Mock对象并引入配置。
const mock = new Mock({
files: path.resolve('./', 'mock-server/response'),
api
})
module.exports = {
devServer: {
// 当所有中间件服务执行后执行mock.start
after: (app) => {
app.use(mock.start)
}
}
}
vue cli 2.x版本开发中...
config.js
// config.js
const api = {
'GET': [
'/burialPoint/addBurialPointInformation.json',
'/SignalDailyPatrol/addDailyPatrol.json',
'/SignalDailyPatrol/DailyPatrol3/addDailyPatrol.json',
'/monitor/queryMonitorOriginalAll.json',
'/SignalDailyPatrol/DailyPatrol2/addDailyPatrol2.json',
'/SignalDailyPatrol/DailyPatrol/addDailyPatrol3.json',
]
}
exports.api = api;
init.js
// init.js
const init = require('ej-mock').init;
const config = require('./config');
const path = require('path');
init(path.resolve('./', 'mock-server/response'), config.api);