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实例教程(19) 使用HoTMetal(1)
Dec 23 Javascript
js 如何实现对数据库的增删改查
Nov 23 Javascript
写得不错的jquery table鼠标经过变色代码
Sep 27 Javascript
JS设置网页图片vspace和hspace属性的方法
Apr 01 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
Aug 10 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
Dec 28 Javascript
利用Vue v-model实现一个自定义的表单组件
Apr 27 Javascript
基于 webpack2 实现的多入口项目脚手架详解
Jun 26 Javascript
基于JavaScript实现无限加载瀑布流
Jul 21 Javascript
基于JS开发微信网页录音功能的实例代码
Apr 30 Javascript
js实现无缝轮播图插件封装
Jul 31 Javascript
javaScript Array api梳理
Mar 31 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网站备份程序代码分享
2011/06/10 PHP
php中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
php链表用法实例分析
2015/07/09 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
2016/10/28 PHP
详解PHP版本兼容之openssl调用参数
2018/07/25 PHP
SWFObject Flash js调用类
2008/07/08 Javascript
基于jquery的多功能软键盘插件
2012/07/25 Javascript
jquery移除button的inline onclick事件(已测试及兼容浏览器)
2013/01/25 Javascript
js获取键盘按键响应事件(兼容各浏览器)
2013/05/16 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
jquery图片轮播特效代码分享
2020/04/20 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
2016/01/26 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
2016/02/24 Javascript
微信小程序picker组件下拉框选择input输入框的实例
2017/09/20 Javascript
用Object.prototype.toString.call(obj)检测对象类型原因分析
2018/10/11 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
2018/10/24 Javascript
Node.js 路由的实现方法
2019/06/05 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
js实现简易ATM功能
2020/10/27 Javascript
nuxt 路由、过渡特效、中间件的实现代码
2020/11/06 Javascript
Python批量转换文件编码格式
2015/05/17 Python
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
基于python实现在excel中读取与生成随机数写入excel中
2018/01/04 Python
Python一行代码实现快速排序的方法
2019/04/30 Python
远程部署工具Fabric详解(支持Python3)
2019/07/04 Python
python中自带的三个装饰器的实现
2019/11/08 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
Django启动时找不到mysqlclient问题解决方案
2020/11/11 Python
英国体育器材进口商店:UK Sport Imports
2017/03/14 全球购物
PHP如何自定义函数
2016/09/16 面试题
自荐书封面下载
2013/11/29 职场文书
工作作风承诺书
2014/08/30 职场文书
学雷锋的心得体会
2014/09/04 职场文书
2019职场实习报告该怎么写?
2019/07/01 职场文书
如何利用Python实现n*n螺旋矩阵
2022/01/18 Python