前端解决跨域

脏猫 / 2023-06-27 / 原文

重新整理了下 Vue 的接口去跨域的事,其实就两个地方实际生效,其他地方乱写端口什么的反倒是阻碍了。这边展示 Vue3+Vite 的例子:

// 写在vite.config里
server:{
    port:81,  //定义前端程序使用的端口
    disableHostCheck:true,
     proxy:{
         'api':{
             target:'http://xxxxx:yyy/', //yyy为后端程序端口
                changeOrigin:true,
                rewrite:path => path.replace(/^\/api,'')
            }
      }
}

这边我调用接口采用了统一管理在一个文件里的方式,当然无所谓怎么样的方式,只要保证接口前有 api 就行,另外 baseUrl 在这是用不到的,所以封装 axios 的部分可以把它去掉。

const api = {
  login(data) {
    return axios.post("/api/user/login", data);
  },
};
export default api;