在 main.js
中导入 axios,并挂载到 Vue 的 prototype 上:
import Vue from 'vue' import App from './App.vue' import axios from 'axios' Vue.prototype.axios = axios new Vue({ render: (h) => h(App) }).$mount('#app')
这样在每个组件中使用 axios 发请求时就不需要每次都导入了,直接使用 this.axios
就能得到 axios
<script> export default { methods: { getInfo() { this.axios.get('./cartData.json').then((res) => { console.log(res.data) }) } } } </script>
在 main.js
中进行配置:
import Vue from 'vue' import App from './App.vue' import axios from 'axios' Vue.config.productionTip = false // 配置 axios 的请求根路径 axios.defaults.baseURL = 'http://httpbin.org:80' Vue.prototype.axios = axios new Vue({ render: (h) => h(App) }).$mount('#app')
配置了请求根路径之后,以后用 axios 发请求就不需要写全路径了。
配置前:
this.axios.get('http://httpbin.org:80/get').then((res) => { console.log(res.data) })
配置后:
this.axios.get('/get').then((res) => { console.log(res.data) })