vue-cli 引入、配置axios的方法
一、npm 安裝axios,文件根目錄下安裝,指令如下
npm install axios --save-dev
二、修改原型鏈,在main.js中引入axios
import axios from 'axios'
接著將axios改寫為Vue的原型屬性,
Vue.prototype.$http=axios
這樣之后就可在每個(gè)組件的methods中調(diào)用$http命令完成數(shù)據(jù)請(qǐng)求
三、在組件中使用
methods: { get(){ this.$http({ method:'get', url:'/url', data:{} }).then(function(res){ console.log(res) }).catch(function(err){ console.log(err) }) this.$http.get('/url').then(function(res){ console.log(res) }).catch(function(err){ console.log(err) }) } }
有關(guān)axios的配置請(qǐng)參考如下文檔,點(diǎn)擊打開鏈接
下面給大家介紹下vue-cli配置axios的方法
1.
npm install axios --save
2.
npm install @type/axios --save-dev(使用ts編寫的需要此聲明文件,升級(jí)的axios好像不需要了,已經(jīng)自帶)
3.
在src目錄下添加axios.ts文件,內(nèi)容:
import axios from 'axios' import {Notification} from 'element-ui' import store from './store/index' import buildconf from '../config/build.rootpath.js' axios.defaults.withCredentials = true; axios.defaults.baseURL = buildconf.serverUrl // axios.defaults.baseURL = 'http://gsblackwidow.chinacloudsites.cn/' axios.interceptors.request.use(function(config) { // document.getElementById('g-loader').style.display = 'flex' store.commit('requestModify', 1) return config; }, function(error){ return Promise.reject(error) }) axios.interceptors.response.use(function(response){ store.commit('requestModify', -1) // document.getElementById('g-loader').style.display = 'none' return response.data; }, function(error){ store.commit('requestModify', -1) // document.getElementById('g-loader').style.display = 'none' if(error.response.status === 401){ Notification({ title: '權(quán)限無效', message: '您的用戶信息已經(jīng)失效, 請(qǐng)重新登錄', type: 'warning', offset: 48 }); window.location.href = '/#/login' }else{ Notification({ title: '請(qǐng)求錯(cuò)誤', message: `${error.response.status} \n ${error.config.url}`, type: 'error', offset: 48, }) } return Promise.reject(error) }) export default axios
4.
types文件夾中新建vue.d.ts文件,內(nèi)容:
import {AxiosStatic, AxiosInstance } from 'axios' declare module 'vue/types/vue' { interface Vue { $axios: AxiosStatic; } }
這樣就可以在各個(gè)模塊中通過this.$axios來使用axios了
其中axios中:
1. build.rootpath.js內(nèi)容:
var path = require('path') var rootpath = path.resolve(__dirname, '../dist') module.exports = rootpath
2. store是vuex的文件,所以要事先安裝vuex
總結(jié)
以上所述是小編給大家介紹的vue-cli 引入、配置axios的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
vue通過笛卡兒積實(shí)現(xiàn)sku庫存配置方式
這篇文章主要介紹了vue通過笛卡兒積實(shí)現(xiàn)sku庫存配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04Vue $nextTick 為什么能獲取到最新Dom源碼解析
這篇文章主要為大家介紹了Vue $nextTick 為什么能獲取到最新Dom源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10vue2.0 element-ui中el-select選擇器無法顯示選中的內(nèi)容(解決方法)
這篇文章主要介紹了vue2.0 element-ui中的el-select選擇器無法顯示選中的內(nèi)容,在文中小編使用的是element-ui V2.2.3。具體解決方法及示例代碼大家參考下本文2018-08-08vue 基于abstract 路由模式 實(shí)現(xiàn)頁面內(nèi)嵌的示例代碼
這篇文章主要介紹了vue 基于abstract 路由模式 實(shí)現(xiàn)頁面內(nèi)嵌的示例代碼,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2020-12-12vue3+ts中ref與reactive指定類型實(shí)現(xiàn)示例
這篇文章主要為大家介紹了vue3+ts中ref及reactive如何指定類型的實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06