Electron forge:图标的 forge.config

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

我试图按照文档在启动 make 时更改应用程序的图标,但应用程序是使用默认图标构建的,或者收到错误“致命错误:无法设置图标”(如果添加到新的 MakerSquirrel ({ setupIcon:'图片/icon.png' })).

  electron
     images
       icon.png
     src
       ...
       index.ts
     forge.config.ts
     package.json
     ...

forge.config:

 const config: ForgeConfig = {
  packagerConfig: {
    icon: 'images/icon', // no file extension required
  },
  rebuildConfig: {},
  makers: [new MakerSquirrel({}), new MakerZIP({}, ['darwin']), new MakerRpm({}), new MakerDeb({})],...}

索引.ts

const win = new BrowserWindow({
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false,
      preload: MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY,
    },
    icon: '../images/icon.png',
  });

app.whenReady().then(() => {
 createWindow();

const path = `${app.getAppPath()}/images/icon.png`;

const image = nativeImage.createFromPath(path);

image.setTemplateImage(true);

  new TrayMenu(path);
});

package.json

"scripts": {
    "start": "electron-forge start",
    "make": "electron-forge make",

我花了很多时间寻找问题,但没有找到任何东西 尝试将路径更改为 path.resolve(__dirname, 'images/icon.png')、path.join 等。

如果我运行未构建的应用程序(npm run start),则会显示该图标

提前谢谢您

electron electron-forge
2个回答
0
投票

使用众多在线 ico-online-converters 之一将 icon.png 转换为 icon.ico。

https://www.electronforge.io/guides/create-and-add-icons

对于伪造配置,路径可以保持相对。 但对于浏览器窗口,请确保使用绝对路径而不是相对路径,否则它可能只能在开发模式下工作,而不能在打包的应用程序中工作

import * as path from 'path';
const win = new BrowserWindow({
  ...
  icon: path.join(__dirname, "../images/icon.ico"),
});

0
投票

我知道我不应该在这里寻求帮助,但由于我无法对您的答案“添加评论”,这是我唯一的选择。你是如何解决这个问题的,假设你这样做了,我有和你一样的问题和设置,但似乎无法让它工作。预先感谢。 (对“糟糕”的答案模组表示歉意)

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