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 相关文章推荐
出现“不能执行已释放的Script代码”错误的原因及解决办法
Aug 29 Javascript
Jquery Post处理后不进入回调的原因及解决方法
Jul 15 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
Mar 11 Javascript
JavaScript制作简易的微信打飞机
Mar 31 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
Jun 24 Javascript
详解JavaScript中Hash Map映射结构的实现
May 21 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
Jul 05 Javascript
如何学JavaScript?前辈的经验之谈
Dec 28 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
Sep 06 Javascript
vue-router路由模式详解(小结)
Aug 26 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
May 10 Javascript
vue使用refs获取嵌套组件中的值过程
Mar 31 Vue.js
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 保留字列表
2012/10/04 PHP
PHP5常用函数列表(分享)
2013/06/07 PHP
PHP常用的三种设计模式
2017/02/17 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
在laravel中使用with实现动态添加where条件
2019/10/10 PHP
PHP7 整型处理机制修改
2021/03/09 PHP
使用按钮控制以何种方式打开新窗口的属性介绍
2012/12/17 Javascript
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
2017/04/28 Javascript
es6系列教程_ Map详解以及常用api介绍
2017/09/25 Javascript
js注册时输入合法性验证方法
2017/10/21 Javascript
three.js实现3D视野缩放效果
2017/11/16 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
Python编写屏幕截图程序方法
2015/02/18 Python
Python3.6使用tesseract-ocr的正确方法
2018/10/17 Python
Python input函数使用实例解析
2019/11/22 Python
Python urlopen()和urlretrieve()用法解析
2020/01/07 Python
python如何实现复制目录到指定目录
2020/02/13 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
将pycharm配置为matlab或者spyder的用法说明
2020/06/08 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
2020/07/07 Python
SAZAC的动物连体衣和动物睡衣:Kigurumi Shop
2020/03/14 全球购物
北京某公司的.net笔试题
2014/03/20 面试题
写给女朋友的道歉信
2014/01/08 职场文书
环保建议书300字
2014/05/14 职场文书
社区健康教育工作方案
2014/06/03 职场文书
生物学专业求职信
2014/07/23 职场文书
2014年乡镇安全生产工作总结
2014/12/02 职场文书
2014年度工作总结报告
2014/12/15 职场文书
2016优秀班主任个人先进事迹材料
2016/02/26 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
用Python监控你的朋友都在浏览哪些网站?
2021/05/27 Python