Stories

Detail Return Return

Vercel跨域處理方案 - Stories Detail

安裝插件

npm i -D http-proxy-middleware

在你前端工程根目錄中創建以下兩個文件

api/proxy.js

// api/proxy.js
// 該服務為 vercel serve跨域處理
const { createProxyMiddleware } = require('http-proxy-middleware')

module.exports = (req, res) => {
    let target = ''
    // 代理目標地址
    // 這裏使用 backend 主要用於區分 vercel serverless 的 api 路徑
    // target 替換為你跨域請求的服務器 如: http://baidu.com
    if (req.url.startsWith('/backend')) {
        target = 'https://fanyi-api.baidu.com'
    }
    // 創建代理對象並轉發請求
    createProxyMiddleware({
        target,
        changeOrigin: true,
        pathRewrite: {
            // 通過路徑重寫,去除請求路徑中的 `/backend`
            // 例如 /backend/user/login 將被轉發到 https://fanyi-api.baidu.com/user/login
            '^/backend/': '/',
        },
    })(req, res)
}

vercel.json 文件

{
 "rewrites": [
   {
     "source": "/backend/(.*)", // 準備匹配的接口
     "destination": "/api/proxy" // 配置路徑
   }
 ]
}

http接口請求代碼前綴記得換成/backend/
代碼提交,默認自動部署到vercel了

設置vercel

1、打開項目,點擊 Functions
截屏2022-08-05 17.29.19.png
2、選擇api/proxy.js文件
截屏2022-08-05 17.29.33.png

完成

Add a new Comments

Some HTML is okay.