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 相关文章推荐
使用户点击后退按钮使效三行代码
Jul 07 Javascript
JS 学习笔记 防止发生命名冲突
Jul 30 Javascript
基于Jquery的文字自动截取(提供源代码)
Aug 09 Javascript
Javascript 面向对象编程(一) 封装
Aug 28 Javascript
javascript常见用法总结
May 22 Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
Jul 18 Javascript
js 动态修改css文件的方法
Aug 05 Javascript
详解如何使用webpack打包Vue工程
May 27 Javascript
jquery实现左右轮播切换效果
Jan 01 jQuery
React Native 图片查看组件的方法
Mar 01 Javascript
微信小程序通过js实现瀑布流布局详解
Aug 28 Javascript
vue2.0 解决抽取公用js的问题
Jul 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中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
深入理解js中this的用法
2016/05/28 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
详解webpack进阶之loader篇
2017/08/23 Javascript
JavaScript+CSS相册特效实例代码
2017/09/07 Javascript
React通过父组件传递类名给子组件的实现方法
2017/11/13 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
微信小程序tabbar底部导航
2018/11/05 Javascript
uniapp与webview之间的相互传值的实现
2020/06/29 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
2020/09/01 Javascript
Python文件和目录操作详解
2015/02/08 Python
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
Python利用公共键如何对字典列表进行排序详解
2018/05/19 Python
Python RabbitMQ消息队列实现rpc
2018/05/30 Python
详解Python3注释知识点
2019/02/19 Python
pycharm修改file type方式
2019/11/19 Python
python读取ini配置文件过程示范
2019/12/23 Python
Python生成词云的实现代码
2020/01/14 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
Python try except finally资源回收的实现
2021/01/25 Python
使用HTML5和CSS3表单验证功能
2017/05/05 HTML / CSS
详解CSS3选择器:nth-child和:nth-of-type之间的差异
2017/09/18 HTML / CSS
英国领先的办公用品供应商:Viking
2016/08/01 全球购物
DNA基因检测和分析:23andMe
2019/05/01 全球购物
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
服务理念标语
2014/06/18 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
群众路线教育实践活动对照检查材料思想汇报(副处级领导)
2014/10/04 职场文书
CSS3 实现NES游戏机的示例代码
2021/04/21 HTML / CSS
jupyter notebook保存文件默认路径更改方法汇总(亲测可以)
2021/06/09 Python
SQLServer之常用函数总结详解
2021/08/30 SQL Server