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 相关文章推荐
限制文本框输入N个字符的js代码
May 13 Javascript
基于jquery的文章中所有图片width大小批量设置方法
Aug 01 Javascript
使用非html5实现js板连连看游戏示例代码
Sep 22 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
Oct 18 Javascript
JS字符串截取函数实例
Dec 27 Javascript
JavaScript弹窗基础篇
Apr 27 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
Jun 12 Javascript
jquery判断iPhone、Android设备类型
Sep 14 Javascript
AngularJS自定义指令详解(有分页插件代码)
Jun 12 Javascript
简单了解JavaScript异步
May 23 Javascript
layui文件上传控件带更改后数据传值的方法
Sep 23 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
Dec 15 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学习之数组的定义和填充
2011/04/17 PHP
用php解析html的实现代码
2011/08/08 PHP
Drupal简体中文语言包安装教程
2014/09/27 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
PHP常见数组排序方法小结
2018/08/20 PHP
PHP递归算法的简单实例
2019/02/28 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
2019/10/01 PHP
JavaScript中的对象化编程
2008/01/16 Javascript
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
jQuery hover 延时器实现代码
2011/03/12 Javascript
javascript的offset、client、scroll使用方法详解
2012/12/25 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
2014/06/30 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
2016/08/01 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
Javascript typeof与instanceof的区别
2016/10/18 Javascript
vue加载自定义的js文件方法
2018/03/13 Javascript
vue路由组件按需加载的几种方法小结
2018/07/12 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
爬虫利器Puppeteer实战
2019/01/09 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
Vue单文件组件开发实现过程详解
2020/07/30 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
[01:09]模型精美,特效酷炫!TI9不朽宝藏Ⅰ鉴赏
2019/05/10 DOTA
基于 Django 的手机管理系统实现过程详解
2019/08/16 Python
Python socket模块方法实现详解
2019/11/05 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
高街生活方式全球在线商店:AZBRO
2017/08/26 全球购物
100%有机精油,美容油:House of Pure Essence
2018/10/30 全球购物
车间副主任岗位职责
2013/12/24 职场文书
金融管理应届生求职信
2014/02/20 职场文书
2014年法务工作总结
2014/12/11 职场文书
财务人员岗位职责
2015/02/03 职场文书
MySQL中一条update语句是如何执行的
2022/03/16 MySQL