后端初学 vue3+vite 快被这个打包+跨域问题烦死了!

19次阅读

共计 464 个字符,预计需要花费 2 分钟才能阅读完成。

问题是这样的:

我使用了 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

正文完
 0