如何为你的电子应用程序设置应用程序图标?
我正在尝试BrowserWindow({icon:'path/to/image.png'});但这并不奏效。
我是否需要打包应用才能看到效果?
如何为你的电子应用程序设置应用程序图标?
我正在尝试BrowserWindow({icon:'path/to/image.png'});但这并不奏效。
我是否需要打包应用才能看到效果?
当前回答
如果您正在将现有的web应用程序转换为Electron应用程序,您可以使用以下代码:
const path = require('path')
const mainWindow = new BrowserWindow({
icon: path.join(__dirname, 'favicon.ico'),
})
其他回答
请注意,图标文件路径的例子倾向于假设main.js在基本目录下。如果文件不在应用程序的基本目录中,路径规范必须说明这一事实。
例如,如果main.js在src/子目录下,而图标在assets/icons/下,这个图标路径规范将工作:
icon: __dirname + "../assets/icons/icon.png"
如果你想在任务栏中更新应用图标,那么在main.js中更新(如果使用typescript则是main.ts)
win.setIcon(path.join(__dirname, '/src/assets/logo-small.png'));
__dirname指向应用程序的根目录(与package.json相同的目录)。
windows 10
electron-packager
electron-packager . appname--platform=win32 --arch=x64 --overwrite --icon=icons/icon.ico --out=release-builds
图标会一直被缓存,所以使用——out标志会有所帮助。
下面是我的解决方案:
new BrowserWindow({
width: 800,
height: 600,
icon: __dirname + '/Bluetooth.ico',
})
如果你正在使用电子生成器,你可以按照他们的文档如何添加你的应用程序图标。
您可以在电子生成器中指定设置图标的路径。Json5配置文件,例如mac:
/**
* @see https://www.electron.build/configuration/configuration
*/
{
appId: 'YourAppId',
mac: {
artifactName: '${productName}_${version}.${ext}',
target: ['dmg'],
icon: 'public/logo.png',
},
}