1.0.5 • Published 7 years ago
rap-axios-plugin v1.0.5
rap-axios-plugin
axios plugin for RAP 对axios的扩展,对axios的返回值进行mock。默认使用taobao官方的RAP服务。
安装
npm install rap-axios-plugin --save-dev
使用
var rapaxios = require('../src/index');
var axios = require('axios');
//配置projectId,使用前最好先配置config
rapaxios.config({ projectId: '20337' });
/**
* get请求的测试
*/
rapaxios.get('get.json?age=3&name=3').then((res) => {
let data = res.data;
console.log(JSON.stringify(data));
console.log('====== ok ======');
}).catch((error) => {
console.error(JSON.stringify(error));
});
/**
* get请求的测试 带参数
*/
rapaxios.get('get.json', { params: { name: '3', age: 22 } }).then((res) => {
let data = res.data;
console.log(JSON.stringify(data));
console.log('====== ok ======');
}).catch((error) => {
console.error(JSON.stringify(error));
});
/**
* get请求的测试 带参数 url中带参数
*/
rapaxios.get('get.json?sex=4', { params: { name: '3', age: 242 } }).then((res) => {
let data = res.data;
console.log(JSON.stringify(data));
console.log('====== ok ======');
}).catch((error) => {
console.error(JSON.stringify(error));
});
/**
* post请求测试 带参数
*/
rapaxios.post('post.json', { name: '3', age: 242 }).then((res) => {
let data = res.data;
console.log(JSON.stringify(data));
console.log('====== ok ======');
}).catch((error) => {
console.error(JSON.stringify(error));
});
function getTest() {
return rapaxios.get('get.json', { params: { name: '3', age: 242 } });
}
function postTest() {
return rapaxios.post('post.json', { name: '3', age: 242 });
}
/**
* 测试两个请求共同完成
*/
rapaxios.all([getTest(), postTest()])
.then(rapaxios.spread(function(first, second) {
//Both requests are now complete
console.log('====== all ok ======');
}));
完整配置参数
const defaultOptions = {
rootUrl: 'http://rapapi.org', //默认为淘宝mockjs地址
mock: 'mockjs',//taobao mockjs的地址
projectId: '',//项目id
requestUrl: '',//请求的路径,即在mockjs中配置的请求路径
ismock: true,//是否开启mock模式
method: 'GET',//默认请求方式
params: undefined //参数
}
说明
目前实现了axios的 get、post、all接口。仅对浏览器的 XMLHttpRequest 对象进行了扩展。未对axios的http请求做扩展。
依赖
mockjs axios