我的GitHub
0%

无星的electron之旅(三)——跨域

背景

你只要打包就肯定遇到这个问题…

原本开发的时候可以通过webpack的proxy做转发,避免跨域的问题

但是打包上线会发现,这和普通的前端项目上线不一样,不会发布到对应的域名下

而是本地文件协议加载,app//.或者file://这种协议

因此在填写网络请求baseurl的时候,势必会遇到跨域问题

解决方式由两种

一.后台解决

这个就不多说了,让后台去加cors即可.

要是有Nginx上也可以在Nginx上搞,百度一下都有

二.端上解决

你能百度到的基本都是

1
2
3
4
5
6
7
win = new BrowserWindow({
webPreferences: {
//添加这样一个配置项,允许跨域
webSecurity: false,
},
});

包括在electron的官方文档也是这么写的

但是我实测,不生效

还需要在文件顶端加上

1
app.commandLine.appendSwitch('disable-web-security');

这样才能允许端上跨域访问

感谢用户126777253074这位大哥在评论区给的回复

我是阿星,阿星的阿,阿星的星!