Я делаю это во всех своих модулях vue
import axios from 'axios'
axios.defaults.xsrfHeaderName = 'X-CSRFTOKEN'
axios.defaults.xsrfCookieName = 'csrftoken'
axios.defaults.withCredentials = true
Я хотел бы не повторять это и желательно сделать что-то вроде
import axios from './myaxios'
Я пытался:
import axios from 'axios'
function myaxios () {
axios.defaults.xsrfHeaderName = 'X-CSRFTOKEN'
axios.defaults.xsrfCookieName = 'csrftoken'
axios.defaults.withCredentials = true
return axios
}
export default myaxios
Не работает. Что я делаю неправильно?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы также должны вызвать функцию. Или просто сделайте это вне функции.
import axios from 'axios'
function myaxios() {
axios.defaults.xsrfHeaderName = 'X-CSRFTOKEN'
axios.defaults.xsrfCookieName = 'csrftoken'
axios.defaults.withCredentials = true
return axios
}
export default myaxios()
ИЛИ
import axios from 'axios'
axios.defaults.xsrfHeaderName = 'X-CSRFTOKEN'
axios.defaults.xsrfCookieName = 'csrftoken'
axios.defaults.withCredentials = true
export default axios
Когда вы делаете это, вы просто экспортируете функцию myaxios(), фактически не вызывая/вызывая ее. Вам просто нужно сделать это один раз и, возможно, в вашем основном файле app.js (или в первой точке входа вашего приложения):
В модуле вы можете экспортировать функцию, как вы это сделали. В вашем файле ввода просто импортируйте модуль:
// Import module
import myaxios from '/path/to/myaxious/module';
И затем вы должны вызвать его, чтобы глобальные настройки были установлены правильно:
// Invoke module's default exported function
myaxios();