他的思路就是在我们本地mock数据的时候,我们定义json数据规则,然后mockjs根据规则,生成对应的数据,然后使用这个数据,作为你对应的响应进行返回就可以了。
读取mock配置文件生成mock数据层
const fs = require('fs');
const path = require('path');
const Mock = require('mockjs')
module.exports = function (app) {
fs.readFile(path.join(__dirname, './mockConf.json'), 'utf-8', function (err, data) {
if (err) {
console.log(err);
} else {
let dataObject = JSON.parse(data);
for (let key in dataObject) {
app.all(dataObject[key].url, function (req, res) {
fs.readFile(path.join(__dirname, dataObject[key].path), 'utf-8', function (err, data) {
if (err) {
console.log(err);
} else {
data = Mock.mock(JSON.parse(data));
res.json(data);
// res.json(JSON.parse(data));
}
})
});
}
}
});
}
mockConf 配置文件
{
"mockjstest": {
"url": "/mockjstest",
"path": "../mock/mockjstest.json"
}
}
mock配置的数据
{
"status": 0,
"list|1-10": [{
"id|+1": 1
}]
}
这样就可以看到返回的mock数据了,每次都不一样,具体语言看mockjs官方文档。