【发布时间】:2015-12-01 16:22:01
【问题描述】:
我是 Electron 的新手,我即将开始使用 Electron/AngularJS 开发桌面应用程序。桌面应用程序只是通过 RESTful Web 服务和 Web 套接字与后端服务器交互的 GUI。
现在我的问题是:在 Electron 中向 Web 服务发出 HTTP 请求并更新 UI 的最佳方式是什么?在普通的网络应用程序中,我只需使用 Angular 的 $http 服务之类的东西直接与网络服务交互。但是,我无法在 Electron 中执行此操作,因为同源策略将阻止请求(据我了解,渲染器在 file:// 源中运行,因此我无法与 mysite.com 通信)。
我想出了几个潜在的解决方案,但它们似乎并不理想:
通过将 BrowserWindow 首选项“web-security”设置为 false,禁用同源策略问题。这似乎不是一个好主意,因为如果我的 UI 代码中有任何类型的跨站点脚本,那么攻击者就可以访问我盒子上的任何文件。
通过 IPC 接口代理我的所有 HTTP 请求。然后主进程就可以不受同源策略的限制,发起 HTTP 请求。不过,这似乎有点矫枉过正。
我是否缺少更简单的解决方案?
【问题讨论】:
标签: angularjs node.js web-services electron