электрон-упаковщик win32 не открывается окно - PullRequest
0 голосов
/ 22 октября 2018

Я пытался создать очень простое приложение с Electron, Node и AngularJS.Приложение работает хорошо, пока я не упакую его.После упаковки окно не отображается.

Идея заключалась в том, чтобы запустить процесс NodeJS на localhost: 5000, а затем загрузить URL-адрес в главном окне ElectronJS.Когда я дважды щелкаю по файлу .exe, процесс запускается с локального хоста: 5000 и работает только в браузере, но окно Electron не отображается.

Кроме того, происходит сбой при попытке открыть с помощью npm run start / npm start

"Хост скриптов Windows. Ошибка: синтаксическая ошибка. Код: 800A03EA. Источник: ошибка компиляции Microsoft JScript."

пакет.json

  "scripts": {
    "start": "electron ."
  }

server.js

'use strict';
const
express = require('express'),
app = express();

app.set('port', (5000));
app.use(express.static('app'));
app.use(express.static('dist'));
app.use(express.static('node_modules'));

app.get("*", (req,res)=>{
    res.sendFile(__dirname+"/app/index.html");
});

app.listen(app.get('port'), function() {
    console.log("Node server is running at localhost:" + app.get('port'));
});

Electron.js

'use strict';
const 
electron = require('electron'),
server = require('./server.js'),
{app, BrowserWindow} = electron;

app.on('ready', () => {
    var win = new BrowserWindow({
        show: false,
        width: 800,
        height: 600
    });

    win.loadURL("http://localhost:5000/");

    win.on('ready-to-show', function() {
        win.show();
        win.focus();
    });

    win.on('closed', () => {
        win = null
    });
});

Я могу найти процесс в диспетчере задач.

NodeJS работает на локальном хосте: 5000.Я вижу это в браузере.

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Я обнаружил, что это несовместимость версий.По крайней мере, в моем случае это было.

Следующая комбинация исправила мою проблему:

"electron": "^3.0.4" с "electron-packager": "^12.2.0"

0 голосов
/ 22 октября 2018

Я не вижу проблем с вашим кодом.Но я обнаружил связанную проблему, которая может повлиять на вас: https://github.com/electron/electron/issues/7779

Можете ли вы запустить электрон в режиме отладки и проверить, сработало ли событие готовности к показу?

...