Vue整合axios 插件方式
1 创建一个vue的项目
使用命令 vue create axios-vue
创建,可以什么都不用勾选
2 安装axios
npm install axios --save
如果安装过程很慢的话,也可以使用下面的cnpm
npm install cnpm -g --registry=https://registry.npm.taobao.org
cnpm install axios --save
3 创建封装请求的文件夹
用vue插件的方式封装,而不是使用工具类进行封装。
这样方便使用,只需要在 main.js
引入一次就可以在所有vue组件中使用。
在 src
下面创建 plugin
文件夹,并在里面创建 http.js
http.js内容如下:
/**
* axios vue插件
*/
import axios from 'axios';
const MyAxiosHttp = {};
const axios_instance = axios.create({
baseURL: 'http://127.0.0.1:8866/',
timeout: 5000
});
MyAxiosHttp.install = (Vue) => {
/**
* 添加get方法 这个方法我写的比较简单,可以按照你们的需求完善
* 返回一个Promise
* 并将错误信息全部转换成字符串
* @param {*} path
* @param {*} params
*/
Vue.prototype.$get = (path, params) => {
return new Promise((resolve, reject) => {
axios_instance.get(path, {
params: params
}).then(res => {
resolve(res.data);
}).catch(err => {
reject('服务器异常');
});
});
}
};
export default MyAxiosHttp;
4 如何使用
在 main.js
中引入
import Vue from 'vue'
import App from './App.vue'
// 下面这两行
import MyAxiosHttp from '@/plugin/http.js';
Vue.use(MyAxiosHttp);
Vue.config.productionTip = false
new Vue({
render: h => h(App),
}).$mount('#app')
在vue组件中使用
export default {
name: 'App',
components: {
},
beforeMount() {
this.$get('user/findById', {
id: 1
}).then(res => {
console.log(res);
});
},
}
Vue整合axios 插件方式的更多相关文章
- vue全局使用axios插件请求ajax
vue全局使用axios插件请求ajax Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方宣布停止更新vue-resource,并推 ...
- vue路由的跳转-路由传参-cookies插件-axios插件-跨域问题-element-ui插件
---恢复内容开始--- 项目初始化 创建一个纯净的vue环境项目,手动书写全局的样式配置,全局的main,js配置 (1)如果vue项目在重构或者出错的时候,手动安装node_modules. 如果 ...
- vue中axios 配置请求拦截功能 及请求方式如何封装
main.js 中: import axios from '................/axios' axios.js 中: //axios.js import Vue from 'vue' i ...
- vue 使用axios 数据请求第三方插件的使用
axios 基于http客户端的promise,面向浏览器和nodejs 特色 浏览器端发起XMLHttpRequests请求 node端发起http请求 支持Promise API 监听请求和返回 ...
- vue中axios使用二:axios以post,get,jsonp的方式请求后台数据
本文为博主原创,转载请注明出处 axios在上一篇中讲过:vue中axios使用一:axios做拦截器,axios是请求后台资源的模块,用来请求后台资源. axios本身是支持get,post请求后台 ...
- Vue 中使用 TypeScript axios 使用方式
Vue 中使用 TypeScript axios 使用方式 方式一 import axios from 'axios'; Vue.prototype.$axios = axios; // 在 .vue ...
- vue+vuex+axios+echarts画一个动态更新的中国地图
一. 生成项目及安装插件 # 安装vue-cli npm install vue-cli -g # 初始化项目 vue init webpack china-map # 切到目录下 cd china- ...
- vue.js 三种方式安装--npm安装
Vue.js是一个构建数据驱动的 web 界面的渐进式框架. Vue.js 的目标是通过简单的 API 实现响应的数据绑定和组合的视图组件.它不仅易上手,便于与第三方库或既有项目整合. ...
- Vue项目功能插件
项目功能插件 vue-router { path: '/', name: 'home', // 路由的重定向 redirect: '/home' } { // 一级路由, 在根组件中被渲染, 替换根组 ...
随机推荐
- BSOJ6310题解
互不相同,太困难啦!!!!!! 考虑可以相同的情况.可以容斥. \[ans=(1+1+1+1)-(2+1+1)+(3+1)+(2+2)-(4) \] 有点抽象,看看就好() \[ans=(a,b,c, ...
- [JS基础] 带你深入了解JS原型
简介 下面这张图大家应该很很熟悉了,各位大佬讲原型及原型链的时候是大部分都会用到下面这张图片的 我想以自己的方式来讲述一遍,一是帮助我自己更好的复习,二是希望能够帮助到想要复习或者学习原型的同学 在讲 ...
- CSI 工作原理与JuiceFS CSI Driver 的架构设计详解
容器存储接口(Container Storage Interface)简称 CSI,CSI 建立了行业标准接口的规范,借助 CSI 容器编排系统(CO)可以将任意存储系统暴露给自己的容器工作负载.Ju ...
- python3生成一个含有20个随机数的列表,要求所有元素不相同,并且每个元素的值介于1到100之间
import random alist = random.sample(range(1,101),20) #random.sample()生成不相同的随机数 print(alist)
- 使用 Mosh 来优化 SSH 连接
1.什么是Mosh Mosh表示移动Shell(Mobile Shell),是一个用于从客户端跨互联网连接远程服务器的命令行工具.它能用于SSH连接,但是比Secure Shell功能更多.它是一个类 ...
- OpenCores注册步骤和成功提交
一 OpenCores 网站简介,这个是全世界最大的FPGA开源IP核网站.由于最近在学习USB2.0host control IP,所以想去网上下载相关的IP例程学习.通过搜索发现,有两个网站十分 ...
- 记-Windows环境下Prometheus+alertmanager+windows_exporter+mtail监控部署
1.概述 最近因项目需要统计服务的负载情况及机器的负载情况,但是项目里面却没有相关统计而服务所在的机器也没有相关的监控,因为工期原因就选择了相对轻量级的prometheus方案.其中windows_e ...
- leetcode-3无重复字符的最长子串
题目原题: 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 ...
- 面试问题之C++语言:Overload、Override及Overwirte的区别
Overload(重载):在C++程序中,可以将语义.功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型.顺序不同),即函数重载. 特点: (1)相同的范围(在同一个类中) (2)函数名 ...
- 什么是HTML 5?
HTML 5是HTML的新标准,其主要目标是无需任何额外的插件如Flash.Silverlight等,就可以传输所有内容.它囊括了动画.视频.丰富的图形用户界面等. HTML5是由万维网联盟(W3C) ...