0

我试图找出是否可以使用更小的文件大小,为基于 Express 的 API 服务器应用程序提供一个可分发的文件,并带有一些用于基本控件的托盘图标 - 基本上是退出 + 重新启动应用程序 + 在默认浏览器中打开 API。

使用 Electron Builder,我可以在大约 68MB 中执行 --ia32 目标,但想知道是否可以使用更小的大小,以了解更多信息。但是在尝试使用 pkg 使 Systray2 和相关解决方案工作时遇到问题(从 node_modules 获取 exe 文件上的 ENONENT(是的,尝试将其添加到 package.json pkg 资产,或者甚至将该 exe 复制到项目根目录下的 traybin 文件夹)。我我确信有办法,但我可能会遗漏一些可能很明显的东西,所以现成的 Git 会很棒。

因此,如果有任何方便的可能,是否有一些样板可供下载?当我只使用构建器、托盘和通知,但没有 mainWindow、ipc Renderer 等时,下载 Electron 感觉就像浪费空间......

4

1 回答 1

0

不确定这是否仍然与您相关,但我今天实际上遇到了完全相同的要求。经过多次试验和错误,我确实设法通过在使用systray2 npm 包时将copyDir标志设置true为如下代码所示来解决它:

const systray = new SysTray({
  menu: {
    icon: os.platform() === 'win32' ? './logo_s.ico' : './logo_s.png',
    isTemplateIcon: os.platform() === 'darwin',
    title: 'App',
    tooltip: 'App',
    items: [
      itemExit
    ]
  },
  debug: false,
  copyDir: true // This makes the systray2 work with pkg
})

我的 win-x64 二进制文件大小以 Brotli 压缩结束38MBfastify server + systray2 + some css/images/js)。

虽然我没有将它与 Electron Builder 进行比较,但我有预感它会比这更大:)

于 2021-09-25T22:04:32.217 回答