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 相关文章推荐
Jquery增加鼠标中间功能mousewheel的实例代码
Sep 05 Javascript
jquery中交替点击事件toggle方法的使用示例
Dec 08 Javascript
js实现多选项切换导航菜单的方法
Feb 06 Javascript
jQuery仿gmail实现fixed布局的方法
May 27 Javascript
BootStrapTable服务器分页实例解析
Dec 20 Javascript
servlet+jquery实现文件上传进度条示例代码
Jan 25 Javascript
微信小程序 request接口的封装实例代码
Apr 26 Javascript
js 用于检测类数组对象的函数方法
May 02 Javascript
在ABP框架中使用BootstrapTable组件的方法
Jul 31 Javascript
vue+webpack实现异步加载三种用法示例详解
Apr 24 Javascript
Vuex中的State使用介绍
Jan 19 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
May 29 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
百度地图API使用方法详解
2015/08/25 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
解析javascript 浏览器关闭事件
2013/07/08 Javascript
js jquery获取随机生成id的服务器控件的三种方法
2013/07/11 Javascript
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
2016/10/10 Javascript
浅谈angularjs中响应回车事件
2017/04/24 Javascript
vue学习之mintui picker选择器实现省市二级联动示例
2017/10/12 Javascript
vue-cli中打包图片路径错误的解决方法
2017/10/26 Javascript
详解node child_process模块学习笔记
2018/01/24 Javascript
详解webpack运行Babel教程
2018/06/13 Javascript
vue 2.8.2版本配置刚进入时候的默认页面方法
2018/09/21 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
2020/03/02 Javascript
Python字符串详细介绍
2015/05/09 Python
举例讲解如何在Python编程中进行迭代和遍历
2016/01/19 Python
速记Python布尔值
2017/11/09 Python
python链接oracle数据库以及数据库的增删改查实例
2018/01/30 Python
分析python请求数据
2018/08/19 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
CSS3教程(9):设置RGB颜色
2009/04/02 HTML / CSS
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
世界最大的票务市场:viagogo
2017/02/16 全球购物
乌克兰在线药房:Аптека24
2019/10/30 全球购物
端口镜像是怎么实现的
2014/03/25 面试题
社区十八大感言
2014/01/19 职场文书
CAD制图人员的自荐信
2014/02/07 职场文书
幼儿园元旦活动感言
2014/03/02 职场文书
群众路线党课主持词
2014/04/01 职场文书
委托收款证明
2015/06/23 职场文书
一道JS算法面试题——冒泡、选择排序
2021/04/21 Javascript
深入理解python协程
2021/06/15 Python