我使用了 vue3+vite 开发,vite 配置了代理如下:
proxy: {
'^/api*': {
target: 'http://localhost:9961/',
changeOrigin: true,
// 替换掉/api 路径
rewrite: (path) => path.replace(/^\/api/, ''),
}
}
以上在本地开发时一切很美好,都正常,但是! 当打包成静态资源部署上服务器后恶心的就来了
vite 的代理失效了,访问路径变成了前端页面路径+/api/xxx ,查了一下这种情况需要使用 nginx 代理/api 路径,然后转发到后台服务。
但是啊,我做的这个东西部署条件不支持装 nginx 啊,就不能直接访问后端接口吗?我后端接口都已经配置好了允许跨域,不管我是写死路径还是删除 vite 的 proxy 配置,最终打包后都会给我把请求路径替换成 /api/xxx
我只想要直接请求后端接口为啥这么难?
还有个让我很不解的地方,为啥用npm run preview一切都正常,我配好的后端接口地址也会正常请求,一旦放到服务器上就又变成了/api/xxx