Vite+Axios项目请求后端接口相关配置内容

一、相对地址请求

在实际项目中使用相对请求地址的情况比较多。

1. 封装请求文件

下面是封装Axios请求文件request.ts

ts 复制代码
import axios from 'axios'

const instance = axios.create({
  baseURL: '/pjone-server',
  timeout: 5000,
})
// 添加请求拦截器
instance.interceptors.request.use(config => {
  // todo:请求拦截逻辑代码
  return config
},
(error) => {
  return Promise.reject(new Error(error))
},
)
// 添加响应拦截器
instance.interceptors.response.use(response => {
  // todo:响应拦截逻辑
)

export default instance

2. 具体请求调用

javascript 复制代码
import request from './request'

export const getRecordsNum = () => {
  return request({
    url: '/lifeColor/getRecordsNum',
  })
}

3. 前端请求路径

通过上述配置,前端页面调用请求的路径为:

http://localhost:3000/pjone-server/lifeColor/getRecordsNum

4. 后端API接口

本地启动后端api为 http://localhost:1304/pjone-server/lifeColor/getRecordsNum 由于端口不同,这就导致跨域问题。这时就需要代理后端接口让前端能够调用到。

开发环境和生产环境的处理方式不同。

5. 开发环境代理

参考:入口vite.config.ts文件中配置以下内容

ts 复制代码
export default defineConfig({
  server: {
    proxy: {
      '/pjone-server': {
        target: 'http://127.0.0.1:1304/',
        changeOrigin: true,
      }
    },
  }, 
})

在开发环境中,Vite 使用 vite.config.js 中的 proxy 选项来配置代理,完成在开发服务器中的转发请求。

6. 生产环境代理

在 Vite 项目部署之后,proxy的配置内容不再起作用。这时就需要在部署项目的Nginx中进行设置。

nginx.conf配置内容如下:

conf 复制代码
location /pjone-server {
	proxy_pass   http://127.0.0.1:1304/pjone-server;
}

二、 绝对地址请求

在封装Axios请求的baseURL中也可以使用绝对请求路径,例如:

ts 复制代码
const instance = axios.create({
  baseURL: 'http://127.0.0.1:3007/api',
  timeout: 5000,
})

后端允许跨域

该后台是express项目,因为设置了允许跨域,所以直接路径访问是没问题的。

ini 复制代码
const express = require('express');
const cors = require('cors');

const app = express();
app.use(cors());
相关推荐
nuIl13 小时前
实现一个 Coding Agent(3):工具调用
前端·agent·cursor
nuIl13 小时前
实现一个 Coding Agent(4):ReAct 循环
前端·agent·cursor
nuIl13 小时前
实现一个 Coding Agent(1):一次 LLM 调用
前端·agent·cursor
nuIl13 小时前
实现一个 Coding Agent(2):让 LLM 流式响应
前端·agent·cursor
copyer_xyf13 小时前
Python 异常处理
前端·后端·python
sugar__salt14 小时前
从栈队列数据结构到JS原型面向对象全解
前端·javascript·数据结构
独特的螺狮粉14 小时前
篮球集训班器具管理系统 - 鸿蒙PC Electron框架完整技术实现指南
前端·javascript·华为·electron·前端框架·开源·鸿蒙
pusheng202514 小时前
IFSJ全英文专访:中国创新力量重塑先进气体感知技术,赋能全球关键基础设施安全
前端·网络·人工智能·物联网·安全
AI_零食15 小时前
番茄钟鸿蒙PC Electron框架完成:状态机、定时器管理与专注力工具设计
前端·javascript·华为·electron·开源·鸿蒙·鸿蒙系统
提子拌饭13315 小时前
逛三园游戏——基于鸿蒙PC Electron框架实现
前端·javascript·游戏·华为·electron·鸿蒙