问题是这样的:
我使用了 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
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.