使用mock.js让前后端分离
介绍
Mock.js是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能:
- 根据数据模板生成模拟数据
- 模拟 Ajax 请求,生成并返回模拟数据
- 基于 HTML 模板生成模拟数据
在开发时,前后端都是各司其职,前端只需要使用mock.js写好静态模拟数据就行。
安装
$ npm install mockjs --save-dev
使用mock.js配置模拟ajax数据
Mock.mock({
url: 'api/products/getList',
response: {
'data|1-10': [
{
'id|+1': 1,
'name': 'product1'
}
]
}
});
具体语法请参考这里。
发送ajax请求
this.$http.post('api/products/getList').then(function (res) {
var data = JSON.parse(res.data);
console.log(data);
}, function () {
});
在开发环境中配置
1.把所有mock数据单独存放于一个js文件中,比如mock.js
import Mock from 'mockjs'
export default (options) => {
const mockApiConfig = (options) => {
Mock.mock(options.url, options.response);
}
// 开始mock数据
mockApiConfig({
url: 'api/products/getList',
response: {
'data|1-10': [
{
'id|+1': 1,
'name': 'product1'
}
]
}
});
}
2.在development
环境下才引入mock.js
,在src/main.js
中加入如下代码:
import Mock from './assets/js/mock.js'
if ('development' === process.env.NODE_ENV) {
Mock();
}
配置完之后,也只有在开发环境下才会引入mockjs模拟数据,发布的时候不会受到影响。
Newest Posts