vue-cli 引入、配置axios的方法


Posted in Javascript onMay 08, 2018

一、npm 安装axios,文件根目录下安装,指令如下

npm install axios --save-dev 

二、修改原型链,在main.js中引入axios

import axios from 'axios' 

接着将axios改写为Vue的原型属性,

Vue.prototype.$http=axios 

这样之后就可在每个组件的methods中调用$http命令完成数据请求

三、在组件中使用

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) 
    }) 
   }    
}

有关axios的配置请参考如下文档,点击打开链接

下面给大家介绍下vue-cli配置axios的方法

1.

npm install axios --save

2.

npm install @type/axios --save-dev(使用ts编写的需要此声明文件,升级的axios好像不需要了,已经自带)

3.

在src目录下添加axios.ts文件,内容:

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: '权限无效',
   message: '您的用户信息已经失效, 请重新登录',
   type: 'warning',
   offset: 48
  });
  window.location.href = '/#/login'
 }else{
  Notification({
   title: '请求错误',
   message: `${error.response.status} \n ${error.config.url}`,
   type: 'error',
   offset: 48,
  })
 }
 return Promise.reject(error)
})
export default axios

4.

types文件夹中新建vue.d.ts文件,内容:

import {AxiosStatic, AxiosInstance } from 'axios'
declare module 'vue/types/vue' {
 interface Vue {
  $axios: AxiosStatic;
 }
}

这样就可以在各个模块中通过this.$axios来使用axios了

其中axios中:

1. build.rootpath.js内容:

var path = require('path')
var rootpath = path.resolve(__dirname, '../dist')
module.exports = rootpath

2. store是vuex的文件,所以要事先安装vuex

总结

以上所述是小编给大家介绍的vue-cli 引入、配置axios的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript学习笔记5 类和对象
Jan 11 Javascript
javascript引用类型之时间Date和数组Array
Aug 27 Javascript
jquery插件格式实例分析
Jun 16 Javascript
Javascript中apply、call、bind的巧妙使用
Aug 18 Javascript
javascript iframe跨域详解
Oct 26 Javascript
jQuery图片加载显示loading效果
Nov 04 Javascript
easyui combobox开启搜索自动完成功能的实例代码
Nov 08 Javascript
JavaScript & jQuery完美判断图片是否加载完毕
Jan 08 Javascript
深入理解Angular4中的依赖注入
Jun 07 Javascript
详解微信小程序实现WebSocket心跳重连
Jul 31 Javascript
ES6 Class中实现私有属性的一些方法总结
Jul 08 Javascript
Vue解决echart在element的tab切换时显示不正确问题
Aug 03 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
May 08 #Javascript
JavaScript实现计算圆周率到小数点后100位的方法示例
May 08 #Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
May 08 #Javascript
详解基于mpvue的小程序markdown适配解决方案
May 08 #Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
May 08 #Javascript
浅谈React 服务器端渲染的使用
May 08 #Javascript
vue.js做一个简单的编辑菜谱功能
May 08 #Javascript
You might like
PHP字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
在PHP中使用Sockets 从Usenet中获取文件
2008/01/10 PHP
PHP获取网站域名和地址的代码
2008/08/17 PHP
php全排列递归算法代码
2012/10/09 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
2016/04/30 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
原生js实现fadein 和 fadeout淡入淡出效果
2014/06/05 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
2015/11/06 Javascript
不同js异步函数同步的实现方法
2016/05/28 Javascript
JavaScript中Array的实用操作技巧分享
2016/09/11 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
Javascript中绑定click事件的四种方式介绍
2018/10/26 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
使用 Element UI Table 的 slot-scope方法
2019/10/10 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
[50:02]完美世界DOTA2联赛循环赛 Magma vs IO BO2第一场 11.01
2020/11/02 DOTA
Python抓取电影天堂电影信息的代码
2016/04/07 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
python3爬虫获取html内容及各属性值的方法
2018/12/17 Python
python Tkinter的图片刷新实例
2019/06/14 Python
pytorch 固定部分参数训练的方法
2019/08/17 Python
如何通过python实现人脸识别验证
2020/01/17 Python
详解python os.path.exists判断文件或文件夹是否存在
2020/11/16 Python
python爬虫用scrapy获取影片的实例分析
2020/11/23 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
Html5 webRTC简单实现视频调用的示例代码
2020/09/23 HTML / CSS
澳大利亚设计的婴儿和女孩的衣服:Oobi
2018/12/16 全球购物
eBay爱尔兰站:eBay.ie
2019/08/09 全球购物
毕业生就业自荐书
2013/12/15 职场文书
2014年采购部工作总结
2014/11/20 职场文书
给老婆的检讨书
2015/01/27 职场文书
营业员岗位职责范本
2015/04/14 职场文书
对Golang中的FORM相关字段理解
2021/05/02 Golang