前端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': '/' }
       }
    },
相关推荐
lpfasd12314 分钟前
node-sass 停止维护!老项目迁移 Dart Sass 完整教程
前端·rust·sass
Data analyse4563 小时前
rnweb 回放数据量太大怎么办?分片存储与断点续传的实现思路
前端·网络·算法·数据分析
xiaogai_gai3 小时前
金蝶收料通知单查询策略实战教程:从源系统拉取到中间层落地的完整路径
java·前端·数据库
环境栈笔记4 小时前
指纹浏览器 WebRTC 怎么设置?从 ICE 候选、代理出口到功能验证
前端·人工智能·后端·自动化
赵大仁4 小时前
官网性能优化实战:LCP 3.2s → 2.1s、CLS 0.107 → 0,以及被我推翻的 6 个判断
前端·性能优化·cls·lcp·core web vitals
xiancai_xianyu4 小时前
Text2SQL落地生产库前,SQL要过哪三道闸
前端·数据库·sql·sql注入·text2sql·ai agent开发·企业级ai框架
小羊没烦恼!4 小时前
T-SQL查询进阶--理解SQL SERVER中的分区表
服务器·开发语言·前端·javascript·html
史瓦辛格5 小时前
给 DeepSeek Harness 写费用插件:把「这次会话花了多少钱」算准
前端·deepseek
星光不问赶路人5 小时前
Vue 3 + TypeScript 中 enum 的使用实践
前端·vue.js
鸥梨菌Honevid5 小时前
UVM 中 REQ 和 RSP 类型详解:从通信模型到 item_done 与 put_response
java·前端·servlet