vue3.0脚手架 配置axios

vue3.0脚手架 配置axios

1、首先安装axios ,vue-axios,使用yarn 或者npm 安装

使用yarn:
yarn add axios
yarn add vue-axios
使用npm
npm install axios
npm install vue-axios

2、安装完成后在项目src文件夹建一个可以存放配置文件,具体命名按照规范来即可
在这里插入图片描述
3、建立完成后config.js文件我用来存放后端请求接口地址,http.js封装axios的请求方式,index.js用来所有调用接口的方法
3.1 config,js文件,可以配置不同环境对应的地址

export default {
    baseUrl: {
      dev: "http://xxxx.xx.xx/", // 开发环境
      // fat: 'http://xxx.xx.xx.xx:8080' 
      //uat : "http://production.com" 
    },
  };

3.2 http.js 封装axios超时请求时间,get请求、post请求,封装的目的是为了统一调用引入方法,不用在所有界面引入,具体代码如下

import axios from "axios"; // 引用axios
import config from "@/api/config";

const instance = axios.create({
  baseURL: config.baseUrl.dev,
  timeout: 60000,
});
//get请求
export function get(url, params = {}) {
  return new Promise((resolve, reject) => {
    instance
      .get(url, {
        params: params,
      })
      .then((response) => {
        resolve(response);
      })
      .catch((err) => {
        reject(err);
      });
  });
}
//post请求
export function post(url, data = {}) {
  return new Promise((resolve, reject) => {
    instance.post(url, data).then(
      (response) => {
        resolve(response.data);
      },
      (err) => {
        reject(err);
      }
    );
  });
}

3.3 index.js引入封装的get/post请求方法,直接调用后端接口地址

import { get,post } from "@/api/http";
export const getData = (params) => get("后端接口名",params);
export const getData1 = (data) => post("后端接口名",data);
//此处如果有参数传入给后端就需要写上参数 params/data 否则可以为空
export const getData = () => get("后端接口名");
export const getData1 = () => post("后端接口名");

4、最后在界面中调用index.js的方法就可以了

import { getData } from '@/api/index.js';
export default {
    name: '',
    mounted() {
        this.getCompany();
    },
     methods: {
        getCompany(){
            getData().then(res=> {
            })
            .catch(error=>{
                console.log(error)
            });
         },
    },
}
</script>

基本配置就完成了,可以正常调用接口

前置知识: - Vue3.0 - Axios - 微服务 Axios是一个基于Promise的HTTP库,可以用于浏览器和Node.js。在Vue中,我们通常使用Axios来发送HTTP请求。 微服务是一种面向服务架构的软件设计风格。它把一个应用划分为一些小的、独立的、可替换的服务,每个服务运行在自己的进程中,服务之间通过轻量级通信机制互相协作。微服务架构可以提高应用的可伸缩性和可维护性。 下面是一个基于Vue3和Axios的微服务请求封装示例: 1. 安装Axios ``` npm install axios ``` 2. 创建axios实例 ```js import axios from 'axios' const service = axios.create({ baseURL: process.env.VUE_APP_BASE_API, // 微服务请求的基础路径 timeout: 5000 // 超时时间 }) // 请求拦截器 service.interceptors.request.use( config => { // 在请求发送之前做些什么 return config }, error => { // 对请求错误做些什么 console.log(error) // for debug return Promise.reject(error) } ) // 响应拦截器 service.interceptors.response.use( response => { // 对响应数据做些什么 const res = response.data if (res.code !== 20000) { // 如果响应状态码不是20000,则视为错误 return Promise.reject(new Error(res.message || 'Error')) } else { return res } }, error => { // 对响应错误做些什么 console.log('err' + error) // for debug return Promise.reject(error) } ) export default service ``` 3. 封装请求方法 ```js import request from '@/utils/request' export function getUserInfo() { return request({ url: '/user/info', method: 'get' }) } export function login(data) { return request({ url: '/user/login', method: 'post', data }) } export function logout() { return request({ url: '/user/logout', method: 'post' }) } ``` 在组件中使用: ```js import { getUserInfo } from '@/api/user' export default { name: 'HelloWorld', created() { getUserInfo().then(response => { console.log(response) }) } } ``` 这样就完成了基于Vue3和Axios的微服务请求封装。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cheng Lucky

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值