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 相关文章推荐
我也种棵OO树JXTree[js+css+xml]
Apr 02 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
Mar 19 Javascript
子窗体与父窗体传值示例js代码
Aug 01 Javascript
js字符串转成JSON
Nov 07 Javascript
javascript按位非运算符的使用方法
Nov 14 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
Jan 09 Javascript
JavaScript的Date()方法使用详解
Jun 09 Javascript
浅谈javascript中return语句
Jul 15 Javascript
Javascript中this绑定的3种方法与比较
Oct 13 Javascript
JS实现图片预加载之无序预加载功能代码
May 12 Javascript
微信小程序 checkbox使用实例解析
Sep 09 Javascript
JavaScript 防篡改对象的用法示例
Apr 24 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 url地址栏传中文乱码解决方法集合
2010/06/25 PHP
PHP基础学习小结
2011/04/17 PHP
探讨捕获php错误信息方法的详解
2013/06/09 PHP
php教程之phpize使用方法
2014/02/12 PHP
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
一个javascript参数的小问题
2008/03/02 Javascript
Javascript表达式中连续的 && 和 || 之赋值区别
2010/10/17 Javascript
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
页面使用密码保护代码
2013/04/10 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
js实现导航吸顶效果
2017/02/24 Javascript
jquery横向纵向鼠标滚轮全屏切换
2017/02/27 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
angular过滤器实现排序功能
2017/06/27 Javascript
jQuery Position方法使用和兼容性
2017/08/23 jQuery
新手vue构建单页面应用实例代码
2017/09/18 Javascript
微信小程序methods中定义的方法互相调用的实例代码
2018/08/07 Javascript
JS字符串补全方法padStart()和padEnd()
2020/05/27 Javascript
python根据京东商品url获取产品价格
2015/08/09 Python
Python松散正则表达式用法分析
2016/04/29 Python
Windows下搭建python开发环境详细步骤
2020/07/20 Python
python3实现磁盘空间监控
2018/06/21 Python
浅谈Python里面小数点精度的控制
2018/07/16 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
如何利用python给图片添加半透明水印
2019/09/06 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
完美解决Django2.0中models下的ForeignKey()问题
2020/05/19 Python
Python实现像awk一样分割字符串
2020/09/15 Python
Capitol Lighting的1800lighting.com:住宅和商业照明
2019/04/10 全球购物
成人大专生实习期的自我评价
2013/10/02 职场文书
科室工作个人总结的自我评价
2013/10/29 职场文书
园林设计师自荐信
2013/11/18 职场文书
活动费用申请报告
2015/05/15 职场文书
为什么你写的height:100%不起作用
2021/05/10 HTML / CSS
DSP接收机前端设想
2022/04/05 无线电
Android开发之底部导航栏的快速实现
2022/04/28 Java/Android