使用dora-proxy-plugin处理异步请求跨域问题

目录

前言

  这个问题描述的背景,是基于访问本地前端项目的nodejs服务器,但是却请求线上API数据接口的场景。如果能做到统一本地线上环境是更好的,有利于维护和调试,具体做法可以参考:使用SwitchyOmega和Charles配置统一的开发和生产环境客户端代理配置的几种常见方式

概述

  根据前后端分离的原则,前端独立进行功能的开发,在与后端真实接口进行对接之前,可以自己通过mock数据的方式进行自测。如果后端已经产生接口,这时,代码中以相对路径发出的所有异步请求,就不能发送至本地服务器,而要通过代理进行转发。


实践

  以dora为例,项目地址https://github.com/dora-js/dora。这是一个轻量的开发测试服务器。其配置文件为proxy.config.js,一般位于项目的根目录下,通过如下配置可达到效果。

1
2
3
4
5
6
7
8
不使用mock数据的情况下,通过dora-proxy-plugin代理进行跨域请求转发
工程运行在当前服务器(端口8989),所有API请求跨域转发至当前服务器(默认端口80
module.exports = {
'GET /admin/!*': 'http://xxx.cn/index.php',
'PUT /admin/!*': 'http://xxx.cn/index.php',
'DELETE /admin/!*': 'http://xxx.cn/index.php',
'POST /admin/!*': 'http://xxx.cn/index.php',
}