在Electron中执行exe(Inside Project结构)

问题描述 投票:1回答:2

在开发模式下,执行exe工作正常。

我启动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的命令是

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)

问候。

electron electron-builder electron-packager
2个回答
1
投票

你的项目有角度吗?

也许这可以提供帮助,但我也遇到过电子封装器问题。

所以我建议你使用电子生成器:https://www.electron.build

你需要在root上添加一个名为electron-builder.json的文件,它应该包含以下内容(你需要更新productname和icons location):

{
  "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 run package:windows

另外,不要忘记将电子构建器添加到您的dev依赖项中:

纱线添加电子助剂--dev

可执行文件位于/ builds中


1
投票

必须使用以下步骤,

1.使用命令打包Electron app

电子包装机。

2.路径到exe

path.join(__ dirname,“DemoExe”,“Sample.exe”)

© www.soinside.com 2019 - 2024. All rights reserved.