在开发过程中,只要协议、域名、端口协议、域名、端口,任意一个不一样都会导致跨域,开发时可以利用代理来解决这个问题
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" : ""
}
}
}
}
}