遇到本地跨域问题时候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标识,不能每一个服务做转发吗?

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

相关推荐
XDHCOM11 分钟前
Redis远程连接命令详解,分享高效配置与安全实践技巧
前端·redis·安全
YAY_tyy2 小时前
Vue3 + Three.js 实战:自定义 3D 模型加载与交互全流程
前端·javascript·vue.js·threejs
星河耀银海2 小时前
3D效果:HTML5 WebGL结合AI实现智能3D场景渲染
前端·人工智能·深度学习·3d·html5·webgl
浅念-5 小时前
Linux 开发环境与工具链
linux·运维·服务器·数据结构·c++·经验分享
似水এ᭄往昔7 小时前
【Linux】gdb的使用
linux·运维·服务器
优雅的造轮狮7 小时前
WSL2 Docker Desktop配置优化及迁移D盘指南
运维·docker·容器
大师影视解说7 小时前
基于Web端的AI电影解说自动化生产工具实测:4步完成从文案到成片的全流程
运维·人工智能·自动化·影视解说·电影解说工具·网页版电影解说·ai电影解说
美狐美颜sdk7 小时前
从人脸关键点到动态贴图:面具特效在美颜SDK中的实现原理
前端·图像处理·人工智能·直播美颜sdk·美颜api
我命由我123457 小时前
React Router 6 - 编程式路由导航、useInRouterContext、useNavigationType
前端·javascript·react.js·前端框架·html·ecmascript·js
威联通网络存储7 小时前
告别掉帧与素材损毁:威联通 QuTS hero 如何重塑影视后期协同工作流
前端·网络·人工智能·python