Vue3配置vite.config.js解决跨域问题的方法

 更新时间:2024年07月09日 10:01:02   作者:她似晚风般温柔789  
跨域一般出现在开发阶段,由于线上环境前端代码被打包成了静态资源,因而不会出现跨域问题,这篇文章主要给大家介绍了关于Vue3配置vite.config.js解决跨域问题的相关资料,需要的朋友可以参考下

问题再现

Access to XMLHttpRequest at ‘http://localhost:8080/user/register’ from origin ‘http://localhost:5173’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

解决问题

原 request.js

// 导入 axios 依赖
import axios from 'axios';
// 定义baseUrl
const baseURL = 'http://localhost:8080';
// 创建实例
const instance = axios.create({
    baseURL: baseURL,
});


// 添加响应拦截器
instance.interceptors.response.use(
    result => {
        return result.data;
    },
    err => {
        alert("服务异常");
        return Promise.reject(err);
    }
)

export default instance;

修改 request.js

// 导入 axios 依赖
import axios from 'axios';
// 定义baseUrl
const baseURL = '/api';
// 创建实例
const instance = axios.create({
    baseURL: baseURL,
});


// 添加响应拦截器
instance.interceptors.response.use(
    result => {
        return result.data;
    },
    err => {
        alert("服务异常");
        return Promise.reject(err);
    }
)

export default instance;

在 vite.config.js 中添加请求代理

import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  // 配置代理
  server: {
    proxy: {
      '/api': { // 获取请求中带 /api 的请求
        target: 'http://localhost:8080',  // 后台服务器的源
        changeOrigin: true,   // 修改源
        rewrite: (path) => path.replace(/^\/api/, "")   //  /api 替换为空字符串
      }
    }
  }
})

注意: rewrite: (path) => path.replace(/^/api/, “”) 中 /^/api/ 不要加引号

总结 

到此这篇关于Vue3配置vite.config.js解决跨域问题的文章就介绍到这了,更多相关Vue3配置vite.config.js解决跨域内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue ElementUI实现:限制输入框只能输入正整数的问题

    Vue ElementUI实现:限制输入框只能输入正整数的问题

    这篇文章主要介绍了Vue ElementUI实现:限制输入框只能输入正整数的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • vue实现简单学生信息管理

    vue实现简单学生信息管理

    这篇文章主要为大家详细介绍了vue实现简单学生信息管理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • vue配置修改端口方式

    vue配置修改端口方式

    文章介绍了如何配置Vue.js项目的端口,以避免与Spring Boot后台项目的默认端口冲突,通过修改Vue的配置文件,将端口更改为其他值,如8081,可以成功启动Vue项目
    2026-01-01
  • vue-upload上传图片详细使用方法

    vue-upload上传图片详细使用方法

    这篇文章主要介绍了使用vue-upload上传图片的详细使用说明,文中有相关的代码示例供大家参考,感兴趣的小伙伴一起跟着小编来学习吧
    2023-05-05
  • 富文本编辑器quill.js开发之自定义格式扩展

    富文本编辑器quill.js开发之自定义格式扩展

    这篇文章主要为大家介绍了富文本编辑器quill.js开发之自定义格式扩展,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 浅谈vue的几种绑定变量的值 防止其改变的方法

    浅谈vue的几种绑定变量的值 防止其改变的方法

    下面小编就为大家分享一篇浅谈vue的几种绑定变量的值 防止其改变的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • vue-router 导航完成后获取数据的实现方法

    vue-router 导航完成后获取数据的实现方法

    这篇文章主要介绍了vue-router 导航完成后获取数据,通过使用生命周期的 created() 函数,在组件创建完成后调用该方法,本文结合实例代码给大家讲解的非常详细需要的朋友可以参考下
    2022-11-11
  • Vue中scrollIntoView()方法详解与实际运用举例

    Vue中scrollIntoView()方法详解与实际运用举例

    这篇文章主要给大家介绍了关于Vue中scrollIntoView()方法详解与实际运用举例的相关资料,该scrollIntoView()方法将调用它的元素滚动到浏览器窗口的可见区域,需要的朋友可以参考下
    2023-12-12
  • vue中传参params和data的区别

    vue中传参params和data的区别

    本文主要介绍了vue中传参params和data的区别,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • vue iview实现分页功能

    vue iview实现分页功能

    这篇文章主要为大家详细介绍了vue iview实现分页功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07

最新评论