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 相关文章推荐
js no-repeat写法 背景不重复
Mar 18 Javascript
用jquery与css打造个性化的单选框和复选框
Oct 20 Javascript
script标签属性type与language使用选择
Dec 02 Javascript
SuperSlide2实现图片滚动特效
Jun 20 Javascript
js实现透明度渐变效果的方法
Apr 10 Javascript
jQuery轻松实现无缝轮播效果
Mar 22 jQuery
webpack2.0搭建前端项目的教程详解
Apr 05 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
Jul 18 jQuery
使用VUE+iView+.Net Core上传图片的方法示例
Jan 04 Javascript
Vue中computed、methods与watch的区别总结
Apr 10 Javascript
js 函数性能比较方法
Aug 24 Javascript
vue 获取url参数、get参数返回数组的操作
Nov 12 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
咖啡与牛奶
2021/03/03 冲泡冲煮
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
一些php项目中比较通用的php自建函数的详解
2013/06/06 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
JSON 学习之完全手册 图文
2007/05/29 Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
2014/02/10 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
常用jQuery代码分享
2015/07/14 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
2015/08/25 Javascript
理解 JavaScript Scoping & Hoisting(二)
2015/11/18 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
利用JS实现简单的瀑布流加载图片效果
2017/04/22 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
微信内置浏览器图片查看器的代码实例
2019/10/08 Javascript
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
python刷投票的脚本实现代码
2014/11/08 Python
Python使用BeautifulSoup库解析HTML基本使用教程
2016/03/31 Python
python cx_Oracle模块的安装和使用详细介绍
2017/02/13 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
解决python文件双击运行秒退的问题
2019/06/24 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
python实现飞船大战
2020/04/24 Python
浅谈python 类方法/静态方法
2020/09/18 Python
美特斯邦威官方商城:邦购网
2016/10/13 全球购物
巴基斯坦购物网站:Goto
2019/03/11 全球购物
四风问题自查报告剖析材料
2014/02/08 职场文书
水电工岗位职责
2014/02/12 职场文书
见习报告格式范文
2014/11/08 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang
小程序实现文字循环滚动动画
2021/06/14 Javascript