Выполнить exe (внутри структуры проекта) в электронном - PullRequest
1 голос
/ 18 марта 2019

В режиме разработки хорошо работает исполняемый файл.

Мой код для запуска exe-файла:

function LaunchExe() {
        var child = require('child_process').execFile;
        var executablePath = 'DemoExe/Sample.exe';
        var parameters = ['Hai', 'Test', 'Dat'];
        child(executablePath, parameters, function (err, data) {
            console.log(err)
            console.log(data.toString());
        });
}

Но после упаковки приложения Electron я не могу запустить exe-файл.

Команда, которую я использую для сборкиexe is

electron-packager . --asar

Код ошибки

 Error: spawn DemoExe/Sample.exe ENOENT
     at Process.ChildProcess._handle.onexit (internal/child_process.js:232)
     at onErrorNT (internal/child_process.js:407)
     at process._tickCallback (internal/process/next_tick.js:63)

С уважением.

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Надо работать со следующими шагами,

1.паковать приложение Electron с помощью команды

электрон-упаковщик.

2.Путь кexe

path.join (__dirname, "DemoExe", "Sample.exe")

1 голос
/ 19 марта 2019

Ваш проект угловой?

Может быть, это может помочь, но у меня тоже были проблемы с электронным упаковщиком.

Поэтому я предлагаю вам использовать электронный строитель: https://www.electron.build

Во-первых, вам нужно добавить в корневой каталог файл с именем Electron-Builder.json , и он должен содержать следующее (вам нужно обновить название продукта и расположение значков):

{
  "productName": "projectname",
  "appId": "org.project.projectname",
  "artifactName": "${productName}-setup-${version}.${ext}",
  "directories": {
    "output": "builds/"
  },
  "files": [
    "dist/",
    "node_modules/",
    "package.json",
    "**/*",
    "!**/*.ts",
    "!*.code-workspace",
    "!package-lock.json",
    "!src/",
    "!e2e/",
    "!hooks/",
    "!angular.json",
    "!_config.yml",
    "!karma.conf.js",
    "!tsconfig.json",
    "!tslint.json"
  ],
  "nsis": {
    "oneClick": false,
    "allowToChangeInstallationDirectory": true
  },
  "mac": {
    "icon": "src/favicon.ico"
  },
  "win": {
    "icon": "src/favicon.ico"
  },
  "linux": {
    "icon": "src/favicon.png"
  }
}

Затем вам нужно добавить эти скрипты в ваш package.json

"scripts": {
    "build:prod": "npm run build -- -c production",
    "package:windows": "npm run build:prod && electron-builder build --windows"
}

может скомпилировать исполняемый файл с

пакет запуска npm: windows

Кроме того, не забудьте добавить электронный строитель в ваши зависимости для разработчиков:

пряжа добавить электронный строитель --dev

исполняемый файл должен находиться в / builds

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...