2016-03-20 13 views
0

Angular2'yi Electron ve WebPack ile kullanıyorum.Angular2 ve elektron erişen tarayıcıWindowow nesnesi

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

Bir olsun: yaparken ben

import * as electron from 'electron'; 

Ancak benim bileşenin üzerine yapıyorum https://github.com/atom/electron/blob/master/docs/api/browser-window.md

BrowserWindow nesneye ulaşmaya çalışıyorum

çalışma zamanı hatası

ORIGINAL EXCEPTION: TypeError: electron.BrowserWindow is not a function

Günlüğe kaydederken elektronun kendisi sadece bir işlev gibi görünür, böylece içinde BrowserWindow nesnesi yoktur.

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

WebPack ben Electron hedef webpackTargetElectronRenderer kullanıyorum.

niyeti çok gibi oluşturucu işleminde ve ana süreç arasında iletişim için burayı http://manos.im/blog/electron-oauth-with-github/

+0

için 'remote.' nedir? –

+0

Üzgünüm onun uzak değil. Bu this.authWindow = yeni electron.BrowserWindow ({width: 800, height: 600, show: false}); –

cevap

1

yapılan yeni bir tarayıcı penceresi nesnesini açmak için, sen Remote API (https://github.com/atom/electron/blob/master/docs/api/remote.md) kullanmak gerekir. Böyle

şey çalışmalıdır:

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

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

Teşekkür ederim bu işe yaradı. Bunu zaten denedim, ancak elektronun bağımlılığı ve elektron-prebuilt'e sahip olduğum için çalışmadı. Sadece bağımlılık olarak elektron-prebuilt ve yukarıda çalışılan nicelly yapmak;) Teşekkür ederim! –