标签:基本应用 统一 merge roc get、post、 get put 后端 字符
cnpm install --save-dev mockjs
为了只在开发环境使用mock,而打包到生产环境时自动不使用mock,我们可以在env中做一个配置
//dev.env
module.exports = merge(prodEnv, {
NODE_ENV: ‘"development"‘,
MOCK: ‘true‘,
})
//prod.env
module.exports = {
NODE_ENV: ‘"production"‘,
MOCK: ‘false‘,
}
然后再main.js里面引入mockjs
process.env.MOCK && require(‘@/mock‘)
//表示配置MOCK为true的时候,才引入mock,所以生产环境的时候就不引入mock了
mock/index.js
//将所有的mock文件导入
require(‘./inspection‘)
// 在这里可以做一些通用的配置
const Mock = require("mockjs")
// 设置所有ajax请求的超时时间,模拟网络传输耗时
Mock.setup({
timeout: 0-300
})
const Mock = require("mockjs")
const Random = Mock.Random;
Mock.mock(‘/api/load‘,‘get‘,{
‘xData|100‘:[‘@datetime‘],
‘series|2‘:[{
‘name‘:‘@NAME‘,
‘type‘:‘line‘,
‘smooth‘:true,
‘data|100‘:[‘@integer(1,600)‘]
}]
})
拦截ajax请求主要可以使用Mock中的两个方法:
Mock.mock( rurl, rtype, template )
Mock.mock( rurl, rtype, function( options ) )
{ ‘data|1-10‘:[{}] } 表示生成生成包含 1到10个空对象的数据
‘@EMAIL‘ 表示随机生成一个email地址
‘@CNAME‘ 表示随机生成一个中文人名
Mock.mock(‘/api/redo‘,‘get‘,function(options){
let series=[];
for(let n=1;n<18;n++){
let _obj={};
_obj.name = ‘05-‘ + (n <= 9 ? ‘0‘ + n : n);
_obj.type = ‘line‘;
_obj.data=[];
for(let i=0;i<24;i++){
let _d = Random.integer(1,10) * (i%2 == 0 ? 10 : 90);
_obj.data.push(_d);
}
series.push(_obj);
}
return series;
})
到此基本应用就可以了,更详细的使用,请看官方文档。
标签:基本应用 统一 merge roc get、post、 get put 后端 字符
原文地址:https://www.cnblogs.com/goloving/p/9038701.html