electron跨域配置
我们在使⽤ electron 时,有时候接⼝本⾝是有跨域的,⽽ electron 本⾝默认是禁⽌跨域请求的
⽹上有⽂章提出在 .electron-vue ⽂件夹中的dev-runner.js⾥增加代理
const server =new WebpackDevServer(
compiler,
{
electron vue教程contentBase: path.join(__dirname,'../'),
quiet:true,
proxy:{
'/api':{
// 请求的⽬标服务器地址
target:'',
// 设置允许跨域
changeOrigin:true,
secure:false,// 不验证 https
// 重写路径
pathRewrite:{
'^/api':''
},
headers:{
referer:''
}
}
},
before(app, ctx){
app.use(hotMiddleware)
ctx.middleware.waitUntilValid(()=>{
resolve()
})
}
}
)
这样在dev环境下是可以的,但是当我们 build 之后,发现接⼝请求都变成本地 file://xxx 形式的, 很显然这样不能⽤。
其实electron本⾝提供了同源策略设置,我们只需要修改⼀下配置就可以了
webSecurity Boolean (可选) - 当设置为 false, 它将禁⽤同源策略 (通常⽤来测试⽹站), 如果此选项不是由开发者设置的,还会把allowRunningInsecureContent设置为 true. 默认值为 true。
我们只需要在主进程的 new BrowserWindow() ⽅法中添加
webPreferences:{
webSecurity:false
}
就可以了
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论