Electron Forge 应用程序:发布版本中可执行文件位置的问题

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

我有一个 Electron Forge 应用程序,旨在启动 Django 服务器(在 Windows 上)。 Django 服务器使用 PyInstaller 编译成可执行文件。 Electron Forge 应用程序通过 spawn 命令调用此可执行文件。

当我使用

npm run make
构建 Electron Forge 应用程序时,该应用程序按预期运行。但是,当使用
npm run release
(生成安装文件)时,无法找到可执行文件。此外,它不存在于资源文件夹中。

启动服务器时出现错误:

Error: spawn C:\Users\****\AppData\Local\Programs\****\resources\django-server\server.exe ENOENT

我的 forge.config.ts 文件:

Const config: ForgeConfig = { 
    packagerConfig: {
        asar:true,
        icon "./src/assets/Logo/icon"
        extraResources: ['./django-server/server.exe'] 
    }
    makers: [
        new MakerSquirrel({noMsi: false}),
        new MakerZIP({})
    ], ....

使用spawn在index.ts文件中启动server.exe文件:

exePath = path.join(process.resourcesPath, 'django-server', 'server.exe');
const child = spawn(exePath, []);

为什么运行时server.exe文件没有被复制到资源文件夹中

npm run release

django windows electron release electron-forge
1个回答
0
投票

问题是 Electron-Forge 和 Electron-Builder 的配置不正确。 Electron-forge 用于

npm run make
并且效果很好。发布部分是使用电子构建器构建的,并且此配置是错误的。 要将图标和 server.exe 文件嵌入到电子应用程序中,必须在
package.json
文件中指定这些资源。

"build": {
  "win": { 
    "icon": icon "src/assets/Logo/icon",
    "extraResources": ["django-server/server.exe"]
   }
  } 
© www.soinside.com 2019 - 2024. All rights reserved.