Node.js 电子&x2014;Can';无法显示自定义图标

Node.js 电子&x2014;Can';无法显示自定义图标,node.js,icons,electron,packaging,Node.js,Icons,Electron,Packaging,我用两种不同的方式设置Electron应用程序的图标时遇到问题: 未打包(通过终端运行应用程序) My main.js确实指定了一个指向图标文件的“icon”值,但它不适用 包装(使用电子包装机) mypackage.json文件指定指向图标文件的“icon”键,我在build目录中有.icns(Mac)文件。我使用electron packager构建应用程序,但没有应用图标,而是使用默认的electron图标 我不确定我在这里做错了什么,一切看起来都是正确的。这里有一个很好的教程: 按

我用两种不同的方式设置Electron应用程序的图标时遇到问题:

未打包(通过终端运行应用程序)

My main.js确实指定了一个指向图标文件的“icon”值,但它不适用

包装(使用电子包装机)

mypackage.json文件指定指向图标文件的“icon”键,我在build目录中有.icns(Mac)文件。我使用electron packager构建应用程序,但没有应用图标,而是使用默认的electron图标


我不确定我在这里做错了什么,一切看起来都是正确的。

这里有一个很好的教程:

按照步骤进行操作,但确保不要跳过任何内容

这也是GitHub上的一个相关问题:

此处有更多链接:


您可以将此脚本添加到package.json中,它可以正常工作。主要是因为路径问题

"package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=assets/icons/mac/icon.icns --prune=true --out=release-builds",

如果您指的是dock上的图标,MAC上的can应使用:

const app = electron.app;
const image = electron.nativeImage.createFromPath(
  app.getAppPath() + "/public/YOUR_APP_IMAGE_NAME"
);
app.dock.setIcon(image);

如果你在Mac OS上遇到这个问题,可能是图标缓存把事情搞砸了。对我来说就是这样。我使用以下命令将其清除:

sudo rm -rfv /Library/Caches/com.apple.iconservices.store; sudo find /private/var/folders/ \( -name com.apple.dock.iconcache -or -name com.apple.iconservices \) -exec rm -rfv {} \; ; sleep 3;sudo touch /Applications/* ; killall Dock; killall Finder

然后我再次构建了应用程序,这一次我使用了我指定的图标
electron packager

第一个链接解决了我的打包图标问题,尽管图标键值不同,--icon标志似乎是强制性的。该教程暗示但没有直接说明在Main.js中设置未打包图标路径只在Ubuntu上有效。这是真的吗?未打包的图标对我来说更重要,因为我正在同时处理许多电子应用程序。可能是