遇到本地跨域问题时候webpack本地开发配置proxy的方式

javascript 复制代码
if (location.host.indexOf("localhost") != -1) {

    baseUrl = IP + '/pc' + '/cfsm';

} else {
    //这里不许改,谁改谁请30杯奶茶,并且罚款500
    baseUrl = "";
}
const api = {
    user: baseUrl + "/web-user",
    excel: baseUrl + "/web-excel",
    }

假设现在有两个后端服务user和excel,接口请求地址为http://100.100.200.103:8012/pc/cfsm/web-user/getUser/id=2233?timestamp=234423322

本地调用该地址则为 localhost:8080访问http://100.100.200.103:8012/cfsm域,出现跨域问题,

解决方式为:

javascript 复制代码
devServer: {
        contentBase: "./dist",
        hot: true,
        compress: true,
        host: "localhost",
        disableHostCheck: true,
        historyApiFallback: true,
        overlay: {
            errors: true,
            warnings: false
        },
        proxy:{
            '/pc':{
                target:'http://100.100.200.103:8012/cfsm',
                changeOrigin: true,
                pathRewrite: { '^/pc': '' }
            }
        }
    },

webpack.dev.config.js中proxy写法如上,

系统服务可能会很多,所以给所有接口加上pc这个标识,表示如果接口路径包含pc,则本地所有请求全部代理到http://100.100.200.103:8012/cfsm这个地址,则会将所有/pc标识符的请求全部转发到target地址,即可解决跨域问题。

为什么要加上pc标识,不能每一个服务做转发吗?

回答:也可以每一个服务做转发,不过如果后端服务较多,写的会比较多,这里做统一处理。

相关推荐
Yupureki6 小时前
《MySQL数据库基础》8.复合查询
linux·运维·服务器·网络·数据库·mysql
七牛云行业应用6 小时前
别等了!xAI 的终端编码 Agent 来了——Grok Build 0.1 安装到并行 Agent全流程
前端
Asmewill6 小时前
LangGraph学习笔记三(State)
前端
上海云盾安全满满6 小时前
海外服务器使用高防CDN的优势
运维·服务器
眷蓝天6 小时前
Jenkins部署与配置
运维·jenkins
史前码农JH6 小时前
nodejs项目Monorepo模式的基础操作
前端
RD_daoyi6 小时前
Google 网站收录全流程解析:抓取、索引与排名机制详解
前端·javascript·人工智能·学习·搜索引擎·html
@大迁世界6 小时前
AI还替不了的JS能力
开发语言·前端·javascript·人工智能·ecmascript
相忘于江湖4265436 小时前
vs code 代码保存自动格式化
前端·vue
reikocao6 小时前
ubuntu系统源
linux·运维·ubuntu