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' } { // 一级路由, 在根组件中被渲染, 替换根组 ...
随机推荐
- Vue3+ElementPlus的一套开源前台+后台管理模板
Vue-Element-Faster 基于最新版vue.js 3.x与element-plus2.x实现的一套前台展示系统.后台管理系统模板,自带权限管理模块. API接口基于SpringBoot2. ...
- pycharm实用常用快捷键
我们在实用pycharm时候,可以使用一些快捷键来帮助我们写代码. 1 alt + enter 快速导包,在需要导入包时候可以使用这个快捷键: 2 alt + 1 可以快速打开或者关闭左侧projec ...
- linux下hadoop2.6.1源码64位的编译
linux下hadoop2.6.1源码64位的编译 一. 前言 Apache官网上提供的hadoop本地库是32位的,如果我们的Linux服务器是64位的话,就会现问题.我们在64位服务器执行Hado ...
- 获取bing首页的每日一图
从必应(bing)首页抓取他的每日一图 以前上学时,曾经用python写过一个每天抓取bing每日一图的小工具. 现在想用java来重构一下. 抓取图片的思路 首先获取网页源码 从网页源码中,我们可以 ...
- 线程 Threading
import time from threading import Thread def func(): while True: time.sleep(0.5) print(123) def func ...
- 5月25日 python学习总结 HTML标签
一.HTML简介 http://www.cnblogs.com/linhaifeng/articles/8973878.html 二.HTML标签与文档结构 http://www.cnblogs.c ...
- 玩转OpenMLDB社区,四张角色卡待解锁
关于OpenMLDB OpenMLDB 是一个开源机器学习数据库,提供企业级 FeatureOps 全栈解决方案.OpenMLDB 致力于闭环解决 AI 工程化落地的数据治理难题,并且已经在上百个企业 ...
- web自动化之定位
UI自动化必不可少的操作--元素定位 8大基础定位 driver.find_element_by_id() # id定位 driver.find_element_by_name() # name定位 ...
- CVE-2014-3120 (命令执行漏洞)
环境配置 vulhub环境搭建 https://blog.csdn.net/qq_36374896/article/details/84102101 启动docker环境 cd vulhub-mast ...
- python练习册 每天一个小程序 第0012题
# -*-coding:utf-8-*- def test(content): text = content flag = 0 with open('filtered_words.txt') as f ...