Отделить axios запросы в отдельный файл
Стоит задача отделить все axios запросы в отдельный файл, чтобы они были доступны с "любого" места проекта. Проект собираю на vue.js.
Ответы (1 шт):
Автор решения: Станислав Усанов
→ Ссылка
Например так:
axios.js
import axios from "axios";
export const send = ({ query = "", mutation = "", url = app.apiUrl }) => {
const bodyFormData = new FormData();
if (query !== "") {
bodyFormData.set("query", `query {${query}}`);
} else {
bodyFormData.set("query", `mutation {${mutation}}`);
}
return axios({
method: "post",
url: url,
data: bodyFormData,
config: {
headers: {
"Content-Type": "application/json;charset=utf-8",
"Access-Control-Allow-Origin": "*"
}
}
})
.then(resolve => resolve.data)
.catch(e => ({
error: "graphql.js",
message: e
}));
};
send.vue
<template>
<div>
TheTest
</div>
</template>
<script>
import { send } from "./axios.js";
export default {
name: "TheTest"
};
</script>