前端webpack、vite搭建的项目如何解决跨域

首先,跨域问题的控制台报错如下:

javascript 复制代码
Access to XMLHttpRequest at 'https://exsample.com/api/wx/haha/yaya' from origin 'http://localhost:5173' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

关键词 Access-Control-Allow-Origin

这样的报错就是跨域问题了。那么,在前端如何解决跨域呢?

可以配置反向代理服务器。

一、vite搭建的项目:

需在vite.config.ts文件中添加如下代码:

javascript 复制代码
 proxy: {
      '/api': {
        target: '', // 后台服务地址
        ws: true,
        changeOrigin: true, //是否跨域
        rewrite: (path) => path.replace(/^\/api/, '')
      }
    },
复制代码
   要写在server的配置中 
javascript 复制代码
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path';
import postcsspxtoviewport from "postcss-px-to-viewport"

export default defineConfig({
  ...................
  server: {
    port: 5173,  //这是为了让vite搭建的项目也能在公网上运行
    host: "0.0.0.0",
    // 配置反向代理,解决跨域
    proxy: {
      '/api': {
        target: '', // 后台服务地址以及端口号
        ws: true,
        changeOrigin: true, //是否跨域
        rewrite: (path) => path.replace(/^\/api/, '')
      }
    },
  },
  base: "/report-manager/"
.......................

})

二、webpack搭建的项目

需在config文件夹下面的webpackDevServer.config.ts(若原本项目中没有,就自己新建一个)文件中添加配置。

javascript 复制代码
 proxy: {
      '/api': {
          target: '', // 后台服务地址
          ws: true,
          changeOrigin: true, //是否跨域
          pathRewrite: { '^/api': '/' }
       }
    },
相关推荐
IT_陈寒3 分钟前
React 性能优化:5个实战技巧让首屏加载提升50%,开发者亲测有效!
前端·人工智能·后端
rising start20 分钟前
前端基础一、HTML5
前端·html·html5
鬼谷中妖29 分钟前
JavaScript 循环与对象:深入理解 for、for...in、for...of、不可枚举属性与可迭代对象
前端
大厂码农老A34 分钟前
你打的日志,正在拖垮你的系统:从P4小白到P7专家都是怎么打日志的?
java·前端·后端
im_AMBER35 分钟前
CSS 01【基础语法学习】
前端·css·笔记·学习
DokiDoki之父39 分钟前
前端速通—CSS篇
前端·css
pixle042 分钟前
Web大屏适配终极方案:vw/vh + flex + clamp() 完美组合
前端·大屏适配·vw/vh·clamp·终极方案·web大屏
ssf19871 小时前
前后端分离项目前端页面开发远程调试代理解决跨域问题方法
前端
@PHARAOH1 小时前
WHAT - 前端性能指标(加载性能指标)
前端
尘世中一位迷途小书童1 小时前
🎨 SCSS 高级用法完全指南:从入门到精通
前端·css·开源