【问题标题】:Angular2 and electron accessing browserWindwow objectAngular2 和电子访问 browserWindwow 对象
【发布时间】:2016-07-06 21:53:23
【问题描述】:

我将 Angular2 与 Electron 和 WebPack 一起使用。

我正在尝试获取 BrowserWindow 对象 https://github.com/atom/electron/blob/master/docs/api/browser-window.md

我正在做我的组件的顶部

import * as electron from 'electron';

但是在做的时候:

this.authWindow = new electron.BrowserWindow({ width: 800, height: 600, show: false});

我在运行时遇到错误

原始异常:TypeError:electron.BrowserWindow 不是函数

当记录电子本身看起来只是一个函数时,其中没有 BrowserWindow 对象。

function defineProgram(name, opts) {
  var program = new Program(name, opts);
  return program;
}

在 WebPack 中,我使用 webpackTargetElectronRenderer 来定位 Electron。

目的是打开一个新的浏览器窗口对象,就像这里所做的http://manos.im/blog/electron-oauth-with-github/

【问题讨论】:

  • remote. 是干什么用的?
  • 对不起,它不是远程的。它的 this.authWindow = new electron.BrowserWindow({ width: 800, height: 600, show: false});

标签: javascript angular electron


【解决方案1】:

渲染器进程和主进程之间的通信,需要使用Remote API (https://github.com/atom/electron/blob/master/docs/api/remote.md)。

这样的事情应该可以工作:

const remote = require('electron').remote;
const BrowserWindow = remote.BrowserWindow;

this.authWindow = new BrowserWindow({ width: 800, height: 600, show: false});

【讨论】:

  • 谢谢你这工作得很好。我已经尝试过了,但由于我依赖电子并且电子预构建它不起作用。刚刚将电子预构建为依赖项并执行上述操作很好;)谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-02
  • 1970-01-01
  • 2016-07-28
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
相关资源
最近更新 更多