vercel 自动化部署项目和跨域问题
我使用的脚手架是Vue CLI ,过程中都很简单,出错的是跨域问题,在本地webpack反向代理,但部署到vercel后没有转发请求,还需要我们自己设置一番。vercel 真的太好用了,一键自动化部署,步骤超级超级简单。我把跟着coderwhy敲的项目部署上去了:https://my-bms.vercel.app/login在使用vercel 要注意这几个问题,1、注意vercel 默认的打包路径
·
我使用的脚手架是Vue CLI ,过程中都很简单,出错的是跨域问题,在本地webpack反向代理,但部署到vercel后没有转发请求,还需要我们自己设置一番。
vercel 真的太好用了,一键自动化部署,步骤超级超级简单。
我把跟着coderwhy敲的项目部署上去了:https://my-bms.vercel.app/login
测试账户
用户名: coderwhy
密码: 123456
在使用vercel 要注意这几个问题,
1、注意vercel 默认的打包路径是dist,如果你更改了outputDir, 要记得在vercel 项目setting里重写,否则会出错
跨域问题
接下来记录以下如何解决跨域问题。
首先安装中间件http-proxy-middleware
在根目录新建api文件夹,新建proxy.js
// 该服务为 vercel serve跨域处理
const { createProxyMiddleware } = require('http-proxy-middleware')
module.exports = (req, res) => {
let target = ''
// 代理目标地址
// xxxxx 替换为你跨域请求的服务器 如: http://baidu.com
if (req.url.startsWith('/api')) {
// 这里填目标地址
target = 'xxxxx'
}
// 创建代理对象并转发请求
createProxyMiddleware({
target,
changeOrigin: true,
pathRewrite: {
// 通过路径重写,去除请求路径中的 `/api`
// 例如 /api/user/login 将被转发到 http://target/user/login
'^/api/': '/'
}
})(req, res)
}
根目录下新建 vercel.json
{
"rewrites": [
{
"source": "/api/(.*)",
"destination": "/api/proxy"
}
]
}
写好上述两个文件后提交代码,再次进入vercel 发现正在building, 等待几分钟就发现build 成功了, 重新visit 网站发现请求已经正常啦~
更多推荐


所有评论(0)