应用场景:当需要向不同的服务器发起请求时
axios.defaults.baseURL = 'https://api.example.com'; |
当我们设置了一个全局的默认配置,如URL地址:此时我们通过axios发送请求时,就可以直接忽略主机地址,写上需要访问的接口的相对路径即可。这样在实际发起请求时,会自动补全地址。
但是,当我们的应用需要访问不同的主机来发起请求和获得响应时,在设置了全局默认地址的情况下,就不方便了。尤其是多个请求访问时,全写成绝对路径的话,一是没意义,二是风格也不统一。
此时,我们就可以另外再单独设置一个新的axios实例,它是基于axios的方法axios.create()来实现的,看起想来就像是new一个Vue实例一样,用一个变量去承载,然后这个变量就具有Vue身上所有的配置(数据和方法)。
const instance = axios.create({ baseURL: 'https://some-domain.com', }); |
详情见axios文档:axios中文文档|axios中文网 | axios
这样,我们就为这个新的实例instance指定了一个默认地址,当我们想要访问一个新的地址时,就可以使用instance去发起请求啦,如instance.get('/posts')。使用方式与直接调用axios是一样的。