Ошибка: порождающий узел ENOENT - PullRequest
0 голосов
/ 21 мая 2018

Я работаю над своим приложением Electron с сервером Express и при сборке его с помощью electronic-packager я получаю сообщение об ошибке.

Uncaught Exception:
Error: spawn node ENOENT
    at exports._errnoException (util.js:1024:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:192:19)
    at onErrorNT (internal/child_process.js:374:16)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
    at Function.Module.runMain (module.js:607:11)
    at startup (bootstrap_node.js:167:16)
    at bootstrap_node.js:589:3

вот мой main.js, где вызывается дочерний процесс

const cp = require('child_process'); 
let instance = cp.spawn('node',['./app.js']);

var electron = require('electron');

var browserWindow = electron.BrowserWindow;
var app = electron.app;

app.on('ready', function(){

// appWindow
    var appWindow;
    appWindow = new browserWindow({
        width:1120,
        height:620,
        webPreferences: {
            plugins: true
        },
        icon: __dirname + '/public/icon/icon.png' 
    });
    appWindow.loadURL('file://' +__dirname + '/public/prva.html');

    //appWindow.webContents.openDevTools();
});

// close app after all windows are closed
    app.on('window-all-closed', () => {
  app.quit()
})

Кто-нибудь знает решение этой ошибки?

1 Ответ

0 голосов
/ 22 мая 2018

Скорее всего, у вас проблема со скриптом app.js.Вы должны подключить некоторых слушателей событий, чтобы понять, что на самом деле происходит.Есть ошибки, выход, закрытие, отключение и события сообщений, которые вы можете прослушать.Вы также можете подключиться к ряду других вещей, таких как stdin, stdout, stderr.Изучите документацию по различным событиям, подключите их ко всем и выведите некоторую информацию, и вы сможете отследить проблему.

Вы также должны проверить, правильно ли работают ваши экспресс-службы непосредственно из командылиния, а не из этого приложения Electron.Если это так, то вы, вероятно, ошиблись.Это может быть либо то, что child_process не может найти приложение "node" для запуска, либо он не может найти ваш скрипт запуска.В любом случае вы можете использовать модуль path для создания правильного пути.

...