在开发过程中,只要协议、域名、端口协议、域名、端口,任意一个不一样都会导致跨域,开发时可以利用代理来解决这个问题

vue3+Vite解决跨域的方法

//vite.config.js
export default defineConfig({
  plugins: [vue()],

  server: {
    host: "0.0.0.0", //打开显示本地地址
    open: true,// 是否自动启动浏览器
    port: 3000,//端口号
    proxy: { // 本地开发环境通过代理实现跨域
      // 正则表达式写法
      '/api': {
        target: 'http://xxx.xxx.xxx.xxx:9999', // 后端服务实际地址
        changeOrigin: true, //开启代理
        rewrite: (path) => path.replace(/^\/api/, '')
      }
    }
  }

})

webpack解决跨域

//vue.config.js
module.exports = {
    devServer: {
            https : true, // 是否启用 https 协议,默认false
            port : 8080, // 本地端口号
            disableHostCheck : true, // 禁用 Host 检查,默认false
            proxy : {
                // 代理配置
                "/api" : {
                    target : http://localhost:3000" //后端服务器实际地址
                    changeOrigin : true, // 是否跨域
                    secure : true, // 是否支持https协议的代理
                    logLevel : "debug",
                    pathRewrite : {
                        "^/api" : ""
                    } 
                }
            }
        }
    }

Logo

前往低代码交流专区

更多推荐