2017-11-20 13 views
0

私はこのトピックについていくつかの記事を見てきました。はい、私は電子コマンドをconsole.Butで使用したときにうまく動作しましたが、電子アプリケーション(電子ビルダー)をパッケージ化しても機能しませんでした。私がアプリケーションを起動したときに問題が発生しました。新しいプロセスを常に作成し始めていたため、タスクマネージャには多くのプロセスがあり、CPU使用率は100%に達しました。 これがどのくらいの用量で起こったのか分かりませんが、助けてくれますか?お願いします!ここ は私のテストコードは次のとおりです。電子でプロセスを生成する

master.js(メイン):

var childProcess = require('child_process'); 
let createProc =() => { 
    let sp = childProcess.spawn(process.execPath, ['./go.js'], {stdio:'ignore'}); 
    sp.unref(); 
    sp.on('error', (err) => { 
    console.log('failed to start process',err); 
    }); 
    sp.on('exit',(code, signal) => { 
    console.log(`child process exited with code ${code}`); 
    createProc(); 
    }); 
} 

createProc(); 

go.js:

const {app, BrowserWindow} = require('electron'); 
let basicWindowParams = { 
    show: true, 
    autoHideMenuBar:true 
}; 
console.log(process.execPath) 
console.log(process.execArgv) 
console.log(process.pid) 
app.on('ready',() => { 
    let win = new BrowserWindow(basicWindowParams); 
    win.loadURL('http://www.reddit.com/'); 
    win.on('did-finish-load',() => { 
    win.show(); 
    }); 
}); 

OS:Windowsの10

エレクトロン:1.8.1

アップデート:私はデモのためのレポを作成しました:https://github.com/xzycn/el_test

+0

誰かが私を助けることができますか? : –

答えて

0

あなたがchild_process.spawnを使用しているそのため、あなたがプロセスを生成しているので、これはあるかもしれません。代わりにchild_process.execを使用してください。

+0

こんにちは、私はエグゼクティブでテストしました。私はほとんど私の目標を達成しました。しかし、新しい質問が私に来る:( –

+0

これらの新しい質問は何ですか? – y0hami

+0

パッケージ内の情報を読むことができません。 jsonからapp.getVersion、app.getName、.etc.Butこの問題は、私のapp.Iの構造を変更した後に解決されました。* app *という名前のサブディレクトリにgo.jsに関連するすべてのコードを移動しました。新しいpackage.jsonとメインフィールドに 'master.js'の代わりに 'go.js'があります:) –

関連する問題