当前位置:首页 > VUE

vue实现接口配置

2026-02-18 08:29:03VUE

Vue 中实现接口配置的方法

使用 Axios 进行 HTTP 请求

安装 Axios 依赖:

npm install axios

创建 api.js 文件配置基础请求:

import axios from 'axios'

const service = axios.create({
  baseURL: 'https://your-api-domain.com/api',
  timeout: 5000
})

service.interceptors.request.use(
  config => {
    // 请求拦截器
    config.headers['Authorization'] = 'Bearer ' + getToken()
    return config
  },
  error => {
    return Promise.reject(error)
  }
)

service.interceptors.response.use(
  response => {
    // 响应拦截器
    return response.data
  },
  error => {
    return Promise.reject(error)
  }
)

export default service

模块化接口管理

创建 userApi.js 示例:

import request from './api'

export function login(data) {
  return request({
    url: '/user/login',
    method: 'post',
    data
  })
}

export function getUserInfo() {
  return request({
    url: '/user/info',
    method: 'get'
  })
}

全局挂载 API

main.js 中:

vue实现接口配置

import * as api from './api/userApi'
Vue.prototype.$api = api

组件中使用方式:

export default {
  methods: {
    async handleLogin() {
      try {
        const res = await this.$api.login({
          username: 'admin',
          password: '123456'
        })
        console.log(res)
      } catch (error) {
        console.error(error)
      }
    }
  }
}

环境变量配置

在项目根目录创建 .env.development

vue实现接口配置

VUE_APP_BASE_API = 'http://dev-api.example.com'

.env.production 中:

VUE_APP_BASE_API = 'https://api.example.com'

修改 api.js 配置:

baseURL: process.env.VUE_APP_BASE_API

TypeScript 支持

为接口添加类型定义:

interface UserInfo {
  id: number
  name: string
  email: string
}

export function getUserInfo(): Promise<UserInfo> {
  return request({
    url: '/user/info',
    method: 'get'
  })
}

标签: 接口vue
分享给朋友:

相关文章

vue实现$.extend

vue实现$.extend

Vue 实现类似 jQuery 的 $.extend 功能 在 Vue 中实现类似 jQuery 的 $.extend 功能,可以通过多种方式完成。$.extend 主要用于合并多个对象的属性,Vue…

vue原理实现

vue原理实现

Vue 原理实现的核心机制 Vue.js 的核心原理基于响应式系统、虚拟 DOM 和模板编译。以下是其核心实现机制的分解: 响应式系统 Vue 使用 Object.defineProperty(Vu…

vue 实现登录

vue 实现登录

Vue 实现登录功能 创建登录表单组件 在 Vue 项目中创建一个登录表单组件(如 Login.vue),包含用户名和密码输入框以及提交按钮。使用 v-model 实现双向数据绑定。 <tem…

vue打包实现推送

vue打包实现推送

Vue 项目打包与自动化部署推送 打包 Vue 项目 使用以下命令生成生产环境代码,默认输出到 dist 目录: npm run build 配置自动化推送(以 GitHub Pages 为例)…

vue实现图片循环

vue实现图片循环

实现图片循环的基本方法 在Vue中实现图片循环通常使用v-for指令结合数组数据。以下是基础实现方式: <template> <div> <img v-fo…

使用ts实现vue

使用ts实现vue

使用 TypeScript 实现 Vue 应用 要在 Vue 项目中使用 TypeScript,可以通过 Vue CLI 或手动配置 TypeScript 环境。以下是具体方法: 通过 Vue CL…