关于vercel跨域处理方案

// 安装!!!!!!!!!!!!!!
npm  i -D http-proxy-middleware
截屏2021-05-27 下午4.57.03.png

在你前端工程中创建以下两个文件

1、api/proxy.js 目录结构也得一致

// 该服务为 vercel serve跨域处理
const {
  createProxyMiddleware
} = require('http-proxy-middleware')

module.exports = (req, res) => {
  let target = ''

  // 代理目标地址
  // 这里使用 backend 主要用于区分 vercel serverless 的 api 路径
// xxxxx 替换为你跨域请求的服务器 如: http://baidu.com
  if (req.url.startsWith('/backend')) {
    target = 'xxxxxxx'
  }
  // 创建代理对象并转发请求
  createProxyMiddleware({
    target,
    changeOrigin: true,
    pathRewrite: {
      // 通过路径重写,去除请求路径中的 `/backend`
      // 例如 /backend/user/login 将被转发到 http://backend-api.com/user/login
      '^/backend/': '/'
    }
  })(req, res)
}

2、vercel.json 文件

{
 "rewrites": [
   {
     "source": "/backend/(.*)",
     "destination": "/api/proxy"
   }
 ]
}

http接口请求代码前缀记得换成 /backend/

'use strict'
module.exports = {
  NODE_ENV: '"production"',
  API_HOST: '"/backend/"'
}

代码提交,默认自动部署到vercel了

操作两步骤:

1、打开项目,点击 Production


WeChate58af63721c20c2faac61ca58fdf14ac.png

1.5、点击... Promote to Production去处理跨域


截屏2021-08-27 下午2.33.02.png

2、选择api/proxy.js文件


截屏2021-05-27 下午5.06.15.png

3、我部署的项目,有兴趣可以试试看

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一篇关于跨域文章 写在前面 嗯。又来了,又说到跨域了,这是一个老生常谈的话题,以前我觉得这种基础文章没有什么好写的...
    变异宝宝阅读 1,332评论 1 1
  • 只要你做过前端项目,你就一定听过跨域。如果跨域都有没听说过的,还说自己是做前端的,那你肯定还停留在十年前的项目吧,...
    木木心丶阅读 390评论 0 2
  • 注:文章太长了,因此分为两段,但第一部分比较常用也更重要,可重点掌握。跨域指的是浏览器不能执行其它网站的脚本,由于...
    AizawaSayo阅读 3,921评论 0 4
  • 在项目的开发中经常遇到所谓的跨域问题。最近也是遇到了这个问题,并且花了很多时间来解决这个问题。下面就来带大家一起看...
    侯工阅读 1,439评论 0 20
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 129,153评论 2 7

友情链接更多精彩内容