一个项目前端与后端配置往往是一比三或者一比二,所以前端开发是比后端快的,这时候后端接口还没提供到你,这时候就可以考虑在本地开发使用mock,为了后续联调更快更精准。
使用koa
npm install nodemon koa koa-body koa-router --save-dev
在项目文件根目录 mkdir mock ,然后 cd mock 后 mkdir server.js
const Koa = require('koa');
const koaRouter = require('koa-router');
const KoaBody = require('koa-body');
KoaBody({
multipart: true
})
const app = new Koa();
const router = new koaRouter();
require("./module/index.js")(router);
app.use(KoaBody()).use(router.routes()).use(router.allowedMethods())
let port = 1000;
app.listen(port, () => {
console.log('mock is start port = ' + port);
})
mkdir module 文件夹,里面创建 index.js(用来自动引入当前文件下的mock接口文件)
const fs = require('fs');
module.exports = router => {
try {
console.log(__dirname);
fs.readdir(__dirname, function (err, files) {
console.log(files);
files.forEach(item => {
if (['index.js', 'README.md'].includes(item) || item.startsWith('.')) return;
console.log('开始引入', item);
require('./' + item)(router)
})
})
} catch (e) {
console.log(e.message, '请检查当前目录下的js文件是否正确');
}
}
在module 文件创建第一个接口文件a.js
module.exports = (router) => {
router.get('/a', async (ctx) => {
ctx.body = {
code: 0,
data: '第一个mock接口'
}
})
}
就可以使用啦
在package.json加入启动mock的脚本
"scripts": {
"mock": "nodemon ./mock/server.js",
},
最后:
因为项目是多人开发,引入文件风格因个人风格迥异,所以自动化引入就更加规范了代码风格,只需要定义接口路径即可,耦合度降低。