javascript - 如何创建一个模块来运行一些样板代码以保持我的代码库干燥

标签 javascript vue.js

我在所有 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

不起作用。我做错了什么?

最佳答案

您还必须调用该函数。或者只是在函数之外执行。

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

关于javascript - 如何创建一个模块来运行一些样板代码以保持我的代码库干燥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54818301/

相关文章:

javascript - 出于 SEO 原因,对相同内容使用 Django 模板 + Vue 模板

vue.js - Vuex 正在重置已设置的状态

vue.js - 打开多标签时 Nuxt 浏览器崩溃

javascript - 以优雅的方式将响应文本解析为键值对

javascript - PHP 表单写入原始 HTML 页面

javascript - 如何使用 React useEffect 仅调用一次加载函数

vue.js - Vue3 : Is it possible to register single file components using app. 组件(...)?

javascript - 如何使用方法更改选定的 v-select 项?

javascript - 在 ng-switch 中使用 ng-transclude

javascript - 包含标签的字符串在 <td> 内无法正确呈现